From fa3f092ce9824b9a0dddb53dc353cd9f41998bc9 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 12 四月 2024 15:27:46 +0800
Subject: [PATCH] 跨工序次破报表

---
 north-glass-erp/src/main/resources/mapper/pp/Report.xml |  163 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 163 insertions(+), 0 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/pp/Report.xml b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
new file mode 100644
index 0000000..d4a9dcd
--- /dev/null
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -0,0 +1,163 @@
+<?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.example.erp.mapper.pp.ReportMapper">
+    <resultMap id="flowCardMap" type="com.example.erp.entity.pp.FlowCard">
+        <result column="order_id" property="orderId"/>
+        <result column="process_Id" property="processId"/>
+        <result column="quantity" property="quantity"/>
+        <result column="founder" property="founder"/>
+        <result column="create_time" property="createTime"/>
+        <result column="layout_status" property="layoutStatus"/>
+        <!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
+        <association property="order" javaType="com.example.erp.entity.sd.Order">
+            <result column="project" property="project"/>
+            <result column="order_id" property="orderId"/>
+            <result column="customer_name" property="customerName"/>
+            <result column="batch" property="batch"/>
+            <result column="other_remarks" property="otherRemarks"/>
+            <result column="icon" property="icon"/>
+            <result column="order_type" property="orderType"/>
+            <result column="salesman" property="salesman"/>
+            <result column="processing_note" property="processingNote"/>
+            <result column="delivery_address" property="deliveryAddress"/>
+        </association>
+        <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
+            <result column="product_id" property="productId"/>
+            <result column="product_name" property="productName"/>
+            <result column="compute_gross_area" property="computeGrossArea"/>
+            <result column="processing_note" property="processingNote"/>
+            <result column="quantity" property="quantity"/>
+            <result column="compute_gross_area" property="computeGrossArea"/>
+            <result column="perimeter" property="perimeter"/>
+            <result column="order_number" property="orderNumber"/>
+            <result column="width" property="width"/>
+            <result column="height" property="height"/>
+            <result column="shape" property="shape"/>
+            <result column="weight" property="weight"/>
+        </association>
+        <association property="orderGlassDetail" javaType="com.example.erp.entity.sd.OrderGlassDetail">
+            <result column="production_id" property="productionId"/>
+        </association>
+        <association property="product" javaType="com.example.erp.entity.sd.Product">
+            <result column="total_thickness" property="totalThickness"/>
+            <result column="thickness" property="thickness"/>
+        </association>
+
+        <!--<result column="g_typeId" property="glassTypes.typeId"/>
+        <result column="g_type" property="glassTypes.type"/>-->
+
+    </resultMap>
+
+    <resultMap id="damageDetailsTableMap" type="com.example.erp.entity.pp.DamageDetails">
+        <result column="responsible_process" property="responsibleProcess"/>
+        <result column="responsible_team" property="responsibleTeam"/>
+        <result column="breakage_type" property="breakageType"/>
+        <result column="breakage_reason" property="breakageReason"/>
+        <result column="breakage_quantity" property="breakageQuantity"/>
+        <result column="area" property="area"/>
+            <result column="reporting_work_id" property="reportingWork.reportingWorkId"/>
+            <result column="reporting_work_time" property="reportingWork.reportingWorkTime"/>
+            <result column="this_process" property="reportingWork.thisProcess"/>
+            <result column="project" property="order.project"/>
+            <result column="order_id" property="order.orderId"/>
+            <result column="glass_child" property="orderGlassDetail.glassChild"/>
+    </resultMap>
+
+
+<!--    娴佺▼鍗¤繘搴�-->
+    <select id="processCardProgressMp">
+        select
+            a.product_name,
+            b.glass_child,
+            d.order_type,
+            concat(c.process_id,'/',c.technology_number) as process_id,
+            c.technology_number,
+            c.quantity,
+            e.reportWorkQuantity,
+            e.reportWorkQuantityCount,
+            e.broken_num,
+            round(ifnull(f.inventory,0)*a.area,2) as  inventoryArea
+
+        from
+            flow_card as c
+        left join
+            sd.order_detail as a
+        on  c.order_id = a.order_id
+        and c.order_number = a.order_number
+        left join sd.order_glass_detail as b
+        on c.order_id = b.order_id
+            and b.order_number = c.order_number
+            and c.technology_number = b.technology_number
+        left join sd.`order` as d
+        on c.order_id = d.order_id
+        left join mm.finished_goods_inventory as f
+        on c.order_id = f.order_id and f.order_number = c.order_number
+        left join (
+                SELECT process_id,
+                       technology_number,
+                       sum(a.broken_num) as broken_num,
+                       concat('{',
+                              GROUP_CONCAT(concat("\"",process,"\":\"",reporting_work_num,"\"")),
+                              '}'
+                           ) as reportWorkQuantity,
+                       concat('{',
+                              GROUP_CONCAT(concat("\"",process,"\":\"",reporting_work_num_count,"\"")),
+                              '}'
+                           ) as  reportWorkQuantityCount
+                FROM sd.order_process_detail as a
+                where a.order_id=#{orderId}
+                GROUP BY process_id,a.technology_number
+            ) as e
+        on e.process_id = c.process_id
+            and e.technology_number = c.technology_number
+
+        where a.order_id = #{orderId}
+
+    </select>
+
+    <select id="getProcessBreaking" resultMap="damageDetailsTableMap">
+        select rw.reporting_work_id,rw.reporting_work_time,dd.responsible_process,dd.responsible_team,
+               dd.breakage_type,dd.breakage_reason,ROUND((dd.breakage_quantity)) as breakage_quantity,
+               round(ogd.child_width*ogd.child_height*(dd.breakage_quantity)/1000000,2) as area,rw.this_process,
+               o.project,o.order_id,ogd.glass_child
+        from
+            damage_details as dd
+                left join reporting_work as rw
+                    on rw.reporting_work_id=dd.reporting_work_id
+                left join sd.order as o
+                    on rw.order_id=o.order_id
+                left join sd.order_glass_detail as ogd
+                          on ogd.order_id=o.order_id and ogd.order_number=dd.order_number
+                                 and ogd.technology_number and dd.technology_number
+        where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) &lt;= #{endDate}
+          and rw.this_worn_quantity>0 and dd.available=0
+          and reviewed_state!=2
+            and rw.this_process!=dd.responsible_process
+        GROUP BY dd.id
+        order by dd.id desc
+        limit #{offset},#{pageSize}
+    </select>
+
+    <select id="getProcessBreakingTotal">
+        select
+            CEILING(count(dd.id)/#{pageSize}) as 'pageTotal',
+            count(distinct dd.id) as 'total'
+        from
+            damage_details as dd
+                left join reporting_work as rw
+                          on rw.reporting_work_id=dd.reporting_work_id
+                left join sd.order as o
+                          on rw.order_id=o.order_id
+                left join sd.order_glass_detail as ogd
+                          on ogd.order_id=o.order_id and ogd.order_number=dd.order_number
+                              and ogd.technology_number and dd.technology_number
+        where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) &lt;= #{endDate}
+          and rw.this_worn_quantity>0 and dd.available=0
+          and reviewed_state!=2
+          and rw.this_process!=dd.responsible_process
+        order by dd.id desc
+    </select>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0