From 1d9815c4b131d375367a8b36f2878031eaffbf9d Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 18 十一月 2024 10:52:40 +0800
Subject: [PATCH] 工程创建查询流程卡数据

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

diff --git a/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
new file mode 100644
index 0000000..23fc14c
--- /dev/null
+++ b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
@@ -0,0 +1,111 @@
+<?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.GlassOptimizeMapper">
+    <resultMap id="wordOrderMap" type="com.example.erp.entity.sd.OrderGlassDetail">
+
+        <result column="order_id" property="orderId"/>
+        <result column="production_id" property="productionId"/>
+        <result column="splitting_status" property="splittingStatus"/>
+        <result column="founder" property="founder"/>
+        <result column="create_time" property="createTime"/>
+        <!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
+        <result column="batch" property="order.batch"/>
+        <result column="order_type" property="order.orderType"/>
+        <result column="project" property="order.project"/>
+        <result column="area" property="order.area"/>
+        <result column="creator" property="order.creator"/>
+        <result column="customer_name" property="order.customerName"/>
+        <result column="processing_note" property="order.processingNote"/>
+        <!--        <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_area" property="computeArea"/>-->
+        <result column="quantity" property="orderDetail.quantity"/>
+        <!--            <result column="compute_gross_area" property="computeGrossArea"/>-->
+        <!--            <result column="perimeter" property="perimeter"/>-->
+        <!--            <result column="bend_radius" property="bendRadius"/>-->
+        <!--            <result column="processing_note" property="processingNote"/>-->
+        <result column="gross_area" property="orderDetail.grossArea"/>
+
+        <!--        </association>-->
+
+    </resultMap>
+
+    <select id="selectWordOrder" resultMap="wordOrderMap">
+        select
+        o.order_id,
+        o.batch,
+        o.project,
+        o.order_type,
+        o.area as gross_area,
+        o.quantity as quantity,
+        o.creator,
+        o.customer_name,
+        o.processing_note
+        from sd.order_detail as od
+        left join `order` as o
+        on o.order_id=od.order_id
+        where o.production_order!=2 and o.order_review=2
+
+        <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
+            and o.order_id regexp #{orderGlassDetail.orderId}
+        </if>
+
+        <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
+            and o.batch regexp #{orderGlassDetail.order.batch}
+        </if>
+        <if test="orderGlassDetail.order.project != null and orderGlassDetail.order.project!= ''">
+            and o.project regexp #{orderGlassDetail.order.project}
+        </if>
+        <if test="orderGlassDetail.order.orderType != null and orderGlassDetail.order.orderType!= ''">
+            and o.order_type regexp #{orderGlassDetail.order.orderType}
+        </if>
+        <if test="orderGlassDetail.order.customerName != null and orderGlassDetail.order.customerName!= ''">
+            and o.customer_name regexp #{orderGlassDetail.order.customerName}
+        </if>
+        <if test="orderGlassDetail.order.processingNote != null and orderGlassDetail.order.processingNote!= ''">
+            and o.processing_note regexp #{orderGlassDetail.order.processingNote}
+        </if>
+
+        <if test="orderGlassDetail.createTime != ''">
+            and DATE_FORMAT((o.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
+        </if>
+
+        group by o.order_id
+        order by o.id desc
+
+
+        ;
+    </select>
+
+    <select id="getFlowCardListMp">
+        select fc.process_id,
+               fc.technology_number,
+               fcss.TotalFloors,
+               COUNT(fc.order_number)                                      as TotalNumber,
+               SUM(fc.quantity)                                            as quantity,
+               ROUND(SUM(od.width * od.height * fc.quantity / 1000000), 2) as area,
+               o.project,
+               ogd.glass_child,
+               od.shape
+
+        from pp.flow_card as fc
+                 left join sd.`order` as o on fc.order_id = o.order_id
+                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+                 left join sd.order_glass_detail as ogd
+                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
+                              ogd.technology_number = fc.technology_number
+                 left join (select fcs.process_id,
+                                   fcs.order_number,
+                                   COUNT(DISTINCT fcs.technology_number) as TotalFloors
+                            from pp.flow_card as fcs
+                            GROUP BY fcs.process_id, fcs.order_number) as fcss
+                           on fcss.process_id = fc.process_id and fcss.order_number = fc.order_number
+        where position(#{optionVal} in ogd.glass_child)
+        GROUP BY fc.process_id, fc.technology_number
+        ORDER BY fc.process_id,fc.technology_number
+    </select>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0