liyong
9 小时以前 bb1befa2a8abae3f75cc71b524c46a6d206cb46b
feat(production): 添加生产核算功能和相关接口
已修改6个文件
55 ■■■■ 文件已修改
src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductionProductMainMapper.xml 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
@@ -29,5 +29,5 @@
     */
    ProductOrder getOrderByMainId(@Param("productMainId") Long productMainId);
    IPage<ProductionProductMainDto> listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
    IPage<ProductionProductMainDto> listProductionDetails(@Param("ew") SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
}
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -87,7 +87,7 @@
                    }
                }
                // 生成完整的工单号
                String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
                String workOrderNoStr ="GD"+ String.format("%s%03d", datePrefix, sequenceNumber);
                ProductWorkOrder productWorkOrder = new ProductWorkOrder();
                productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
                productWorkOrder.setProductOrderId(productOrder.getId());
src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
@@ -157,7 +157,7 @@
                }
            }
            // 生成完整的工单号
            String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
            String workOrderNoStr = "GD" +String.format("%s%03d", datePrefix, sequenceNumber);
            ProductWorkOrder productWorkOrder = new ProductWorkOrder();
            productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
            productWorkOrder.setProductOrderId(productProcessRouteItem.getProductOrderId());
src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -116,7 +116,7 @@
                                    }
                                }
                                // 生成完整的工单号
                                String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
                                String workOrderNoStr ="FG" +String.format("%s%03d", datePrefix, sequenceNumber);
                                ProductWorkOrder productWorkOrder = new ProductWorkOrder();
                                productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
                                productWorkOrder.setProductOrderId(order.getId());
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -323,7 +323,7 @@
                        }
                    }
                    // 生成完整的工单号
                    String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
                    String workOrderNoStr ="GD"+ String.format("%s%03d", datePrefix, sequenceNumber);
                    ProductWorkOrder productWorkOrder = new ProductWorkOrder();
                    productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
                    productWorkOrder.setProductOrderId(productOrder.getId());
src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -58,27 +58,32 @@
    </select>
    <select id="listProductionDetails" resultType="com.ruoyi.production.dto.ProductionProductMainDto">
        SELECT
            slpa.scheduling_date,
            slpa.scheduling_user_name,
            sl.sales_contract_no,
            sl.customer_name,
            p.product_name,
            pm.model,
            pm.unit,
            slpa.process,
            ppo.quantity,
            slpa.work_hours,
            slpa.work_hours * slpa.finished_num AS wages
        slpa.scheduling_date,
        slpa.scheduling_user_name,
        sl.sales_contract_no,
        sl.customer_name,
        p.product_name,
        pm.model,
        pm.unit,
        slpa.process,
        ppo.quantity,
        slpa.work_hours,
        slpa.work_hours * slpa.finished_num AS wages
        FROM
            production_product_main ppm
                LEFT JOIN sales_ledger_production_accounting slpa ON slpa.sales_ledger_work_id = ppm.id
                LEFT JOIN production_product_output ppo ON ppm.id = ppo.product_main_id
                LEFT JOIN product_work_order pwo ON pwo.id = ppm.work_order_id
                LEFT JOIN product_order po ON po.id = pwo.product_order_id
                LEFT JOIN process_route pr ON pr.id = po.route_id
                LEFT JOIN product_model pm ON po.product_model_id = pm.id
                LEFT JOIN product p ON p.id = pm.product_id
                LEFT JOIN sales_ledger sl ON po.sales_ledger_id = sl.id
        production_product_main ppm
        LEFT JOIN sales_ledger_production_accounting slpa ON slpa.sales_ledger_work_id = ppm.id
        LEFT JOIN production_product_output ppo ON ppm.id = ppo.product_main_id
        LEFT JOIN product_work_order pwo ON pwo.id = ppm.work_order_id
        LEFT JOIN product_order po ON po.id = pwo.product_order_id
        LEFT JOIN process_route pr ON pr.id = po.route_id
        LEFT JOIN product_model pm ON po.product_model_id = pm.id
        LEFT JOIN product p ON p.id = pm.product_id
        LEFT JOIN sales_ledger sl ON po.sales_ledger_id = sl.id
        <where>
            <if test="ew.schedulingUserName != null and ew.schedulingUserName !=''">
                and slpa.scheduling_user_name = #{ew.schedulingUserName}
            </if>
        </where>
    </select>
    <delete id="deleteByWorkOrderIds" parameterType="java.util.List">