zss
7 小时以前 deff787716b00b4f491de429ba092915d7fa1a9e
过程检数据查询+原有生产订单表增加产品规格id
已添加1个文件
已修改12个文件
214 ■■■■■ 文件已修改
src/main/java/com/ruoyi/production/dto/ProductOrderDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemParamMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductOrder.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/controller/QualityInspectController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/dto/ProcessPageDto.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/IQualityInspectService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductOrderMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductionProductRouteItemMapper.xml 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductionProductRouteItemParamMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductOrderDto.java
@@ -23,10 +23,6 @@
    @Excel(name = "规格")
    private String model;
    @ApiModelProperty(value = "产品类型")
    @Excel(name = "产品类型")
    private String strength;
    @ApiModelProperty(value = "工艺路线描述")
    @Excel(name = "工艺路线描述")
    private String description;
src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemMapper.java
@@ -1,7 +1,11 @@
package com.ruoyi.production.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.production.pojo.ProductionProductRouteItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.quality.dto.ProcessPageDto;
import org.apache.ibatis.annotations.Param;
/**
 * <p>
@@ -13,4 +17,5 @@
 */
public interface ProductionProductRouteItemMapper extends BaseMapper<ProductionProductRouteItem> {
    IPage<ProcessPageDto> processPage(Page page, @Param("c") ProcessPageDto processPageDto);
}
src/main/java/com/ruoyi/production/mapper/ProductionProductRouteItemParamMapper.java
@@ -1,7 +1,11 @@
package com.ruoyi.production.mapper;
import com.ruoyi.production.pojo.ProductionOrderRouteItemParam;
import com.ruoyi.production.pojo.ProductionProductRouteItemParam;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +17,5 @@
 */
public interface ProductionProductRouteItemParamMapper extends BaseMapper<ProductionProductRouteItemParam> {
    List<ProductionProductRouteItemParam> processDetails(@Param("productionProductRouteItemId") Long productionProductRouteItemId);
}
src/main/java/com/ruoyi/production/pojo/ProductOrder.java
@@ -98,4 +98,10 @@
    @ApiModelProperty(value = "状态(1.待开始、2.进行中、3.已完成、4.已取消)")
    private Integer status;
    /**
     * å…³è”物料信息表ID
     */
    @ApiModelProperty("关联物料信息表ID")
    private Long productMaterialSkuId;
}
src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
@@ -229,7 +229,7 @@
            throw new ServiceException("报工失败,生产订单更新失败");
        }
        //  å®ŒæˆæŠ¥å·¥ä¸»è¡¨-投入表-产出表数据
        //  å®ŒæˆæŠ¥å·¥ä¸»è¡¨-产出表-产出明细表数据
        ProductionProductMain productionProductMain = new ProductionProductMain();
        productionProductMain.setProductNo(productionProductMainService.generateProductNo());
        productionProductMain.setProductOrderId(dto.getProductOrderId());
@@ -247,7 +247,7 @@
        productionProductInput.setQuantity(dto.getQuantity());
        result = productionProductInputService.save(productionProductInput);
        if (!result) {
            throw new ServiceException("报工失败,生产投入存储失败");
            throw new ServiceException("报工失败,生产产出存储失败");
        }
        ProductionProductOutput productionProductOutput = new ProductionProductOutput();
@@ -481,7 +481,7 @@
        dto.setMaterialCode(productMaterialSkuDto.getMaterialCode());
        dto.setModel(productMaterialSkuDto.getModel());
        //  æŸ¥è¯¢æŠ•入表(获取产品ID和投入数量)
        //  æŸ¥è¯¢æ€»çš„产出数量(这里把投入表弄成了产出总表)
        ProductionProductInput input = productionProductInputService.getOne(
                new LambdaQueryWrapper<ProductionProductInput>()
                        .eq(ProductionProductInput::getProductMainId, productMainId)
src/main/java/com/ruoyi/productionPlan/service/impl/ProductionPlanServiceImpl.java
@@ -148,6 +148,7 @@
        productOrder.setPlanCompleteTime(productionPlanDto.getPlanCompleteTime());
        productOrder.setStatus(ProductOrderStatusEnum.WAIT.getCode());
        productOrder.setStrength(productionPlanDto.getStrength());
        productOrder.setProductMaterialSkuId(productionPlanDto.getProductMaterialSkuId());
        Long orderId = productOrderService.insertProductOrder(productOrder);
src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
@@ -7,6 +7,7 @@
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.quality.dto.ProcessPageDto;
import com.ruoyi.quality.dto.QualityInspectDto;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.quality.pojo.QualityInspectFile;
@@ -14,6 +15,8 @@
import com.ruoyi.quality.service.IQualityInspectFileService;
import com.ruoyi.quality.service.IQualityInspectParamService;
import com.ruoyi.quality.service.IQualityInspectService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@@ -26,6 +29,7 @@
 * åŽŸææ–™æ£€éªŒ/过程检验/出厂检验
 */
@RestController
@Api(tags = "质量管理")
@RequestMapping("/quality/qualityInspect")
public class QualityInspectController {
@@ -140,4 +144,29 @@
    public void down(HttpServletResponse response,@RequestBody QualityInspect qualityInspect) {
        qualityInspectService.down(response, qualityInspect);
    }
    /************************************************宁夏中盛建材的过程检和成品检*********************************************************************************/
    /**
     * è¿‡ç¨‹æ£€åˆ†é¡µæŸ¥è¯¢
     * @param page
     * @param processPageDto
     * @return
     */
    @GetMapping("/processPage")
    @ApiOperation("过程检分页查询")
    public AjaxResult processPage(Page page, ProcessPageDto processPageDto) {
        return AjaxResult.success(qualityInspectService.processPage(page, processPageDto));
    }
    /**
     * è¿‡ç¨‹æ£€è¯¦æƒ…
     * @param processPageDto
     * @return
     */
    @GetMapping("/processDetails")
    @ApiOperation("过程检详情")
    public AjaxResult processDetails(ProcessPageDto processPageDto) {
        return AjaxResult.success(qualityInspectService.processDetails(processPageDto));
    }
}
src/main/java/com/ruoyi/quality/dto/ProcessPageDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.ruoyi.quality.dto;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@ApiModel("质量管理---过程检(台账)")
public class ProcessPageDto {
    @ApiModelProperty("生产报工记录的工序表id")
    private Long ProductionProductRouteItemId;
    @ApiModelProperty(value = "日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @ApiModelProperty(value = "报工单号")
    private String productNo;
    @ApiModelProperty(value = "生产订单号")
    private String npsNo;
    @ApiModelProperty(value = "工序名称")
    private String process;
    @ApiModelProperty(value = "岗位人员")
    private String postName;
    @ApiModelProperty(value = "班次")
    private String schedule;
    @ApiModelProperty(value = "产品编码")
    private String materialCode;
    @ApiModelProperty(value = "产品名称")
    private String productName;
    @ApiModelProperty(value = "规格")
    private String model;
    @ApiModelProperty(value = "产品类型")
    private String strength;
    @ApiModelProperty("合格数量")
    private BigDecimal qualifiedQuantity;
    @ApiModelProperty("不合格数量")
    private BigDecimal unqualifiedQuantity;
    @ApiModelProperty("产出数量")
    private BigDecimal quantity;
    private LocalDateTime startTime;
    private LocalDateTime endTime;
}
src/main/java/com/ruoyi/quality/service/IQualityInspectService.java
@@ -3,10 +3,15 @@
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.ProcessRouteItemParamDto;
import com.ruoyi.production.pojo.ProductionOrderRouteItemParam;
import com.ruoyi.production.pojo.ProductionProductRouteItemParam;
import com.ruoyi.quality.dto.ProcessPageDto;
import com.ruoyi.quality.dto.QualityInspectDto;
import com.ruoyi.quality.pojo.QualityInspect;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
public interface IQualityInspectService extends IService<QualityInspect> {
@@ -24,4 +29,8 @@
    int submit(QualityInspect qualityInspect);
    void down(HttpServletResponse response, QualityInspect qualityInspect);
    IPage<ProcessPageDto> processPage(Page page, ProcessPageDto processPageDto);
    List<ProductionProductRouteItemParam> processDetails(ProcessPageDto processPageDto);
}
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -14,6 +14,12 @@
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.dto.ProcessRouteItemParamDto;
import com.ruoyi.production.mapper.ProductionProductRouteItemMapper;
import com.ruoyi.production.mapper.ProductionProductRouteItemParamMapper;
import com.ruoyi.production.pojo.ProductionOrderRouteItemParam;
import com.ruoyi.production.pojo.ProductionProductRouteItemParam;
import com.ruoyi.quality.dto.ProcessPageDto;
import com.ruoyi.quality.dto.QualityInspectDto;
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.mapper.QualityTestStandardMapper;
@@ -54,6 +60,10 @@
    private SalesLedgerProductMapper salesLedgerProductMapper;
    private ProcurementRecordService procurementRecordService;
    private ProductionProductRouteItemMapper productionProductRouteItemMapper;
    private ProductionProductRouteItemParamMapper productionProductRouteItemParamMapper;
    @Override
    public int add(QualityInspectDto qualityInspectDto) {
@@ -157,6 +167,16 @@
    }
    @Override
    public IPage<ProcessPageDto> processPage(Page page, ProcessPageDto processPageDto) {
        return productionProductRouteItemMapper.processPage(page,processPageDto);
    }
    @Override
    public List<ProductionProductRouteItemParam> processDetails(ProcessPageDto processPageDto) {
        return productionProductRouteItemParamMapper.processDetails(processPageDto.getProductionProductRouteItemId());
    }
    @Override
    public int updateQualityInspect(QualityInspectDto qualityInspectDto) {
        if (ObjectUtils.isNotNull(qualityInspectDto.getQualityInspectParams())) {
            qualityInspectParamService.remove(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, qualityInspectDto.getId()));
src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -54,13 +54,7 @@
        FROM product_order po
        LEFT JOIN process_route pr ON po.route_id = pr.id
        LEFT JOIN product_bom pb ON pr.bom_id = pb.id
        LEFT JOIN (
        SELECT product_order_id, MIN(production_plan_id) AS production_plan_id
        FROM product_order_plan
        GROUP BY product_order_id
        ) pop ON po.id = pop.product_order_id
        LEFT JOIN production_plan pp ON pop.production_plan_id = pp.id
        LEFT JOIN product_material_sku pms ON pms.id = pp.product_material_sku_id
        LEFT JOIN product_material_sku pms ON pms.id = po.product_material_sku_id
        LEFT JOIN product_material pm ON pm.id = pms.product_id
        <where>
            <if test="c.npsNo != null and c.npsNo != ''">
src/main/resources/mapper/production/ProductionProductRouteItemMapper.xml
@@ -14,5 +14,54 @@
        <result column="update_time" property="updateTime"/>
        <result column="tenant_id" property="tenantId"/>
    </resultMap>
    <select id="processPage" resultType="com.ruoyi.quality.dto.ProcessPageDto">
        select ppri.id ProductionProductRouteItemId,
               ppri.create_time,
               ppm.product_no,
               po.nps_no,
               pp.name process,
               ppri.post_name,
               ppm.schedule,
               pms.material_code,
               pm.product_name,
               pms.model,
               po.strength,
               ppo.quantity qualifiedQuantity,
               ppo.scrap_qty unqualifiedQuantity,
               ppo.quantity + ppo.scrap_qty quantity
        from production_product_route_item ppri
                 left join production_product_main ppm on ppri.product_main_id = ppm.id
                 left join production_product_output ppo on ppo.product_main_id = ppm.id
                 left join product_order po on ppm.product_order_id = po.id
                 left join product_process pp on ppri.process_id = pp.id
                 left join product_material_sku pms on pms.id = po.product_material_sku_id
                 left join product_material pm on pm.id = pms.product_id
        where 1=1
            <if test="c.npsNo != null and c.npsNo != ''">
                AND po.nps_no LIKE CONCAT('%', #{c.npsNo}, '%')
            </if>
            <if test="c.process != null and c.process != ''">
                AND pp.name LIKE CONCAT('%', #{c.process}, '%')
            </if>
            <if test="c.productNo != null and c.productNo != ''">
                AND ppm.product_no LIKE CONCAT('%', #{c.productNo}, '%')
            </if>
            <if test="c.productName != null and c.productName != ''">
                AND pm.product_name LIKE CONCAT('%', #{c.productName}, '%')
            </if>
            <if test="c.materialCode != null and c.materialCode != ''">
                AND pms.material_code LIKE CONCAT('%', #{c.materialCode}, '%')
            </if>
            <if test="c.model != null and c.model != ''">
                AND pms.model LIKE CONCAT('%', #{c.model}, '%')
            </if>
            <if test="c.strength != null and c.strength != ''">
                AND po.strength = #{c.strength}
            </if>
            <if test="c.startTime != null and c.endTime != null">
                AND po.create_time BETWEEN #{c.startTime} AND #{c.endTime}
            </if>
        order by ppri.id desc
    </select>
</mapper>
src/main/resources/mapper/production/ProductionProductRouteItemParamMapper.xml
@@ -27,5 +27,11 @@
        <result column="update_time" property="updateTime"/>
        <result column="tenant_id" property="tenantId"/>
    </resultMap>
    <select id="processDetails" resultType="com.ruoyi.production.pojo.ProductionProductRouteItemParam">
        select pprip.*
        from production_product_route_item_param pprip
        where pprip.production_product_route_item_id = #{productionProductRouteItemId}
        and pprip.order_item_param_id is not null
    </select>
</mapper>