廖井涛
2025-03-25 768e16999a8ce4bb500490ee76c659aa61ea1783
north-glass-erp/src/main/resources/mapper/pp/WordOrder.xml
@@ -8,58 +8,70 @@
        <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"/>
        <!--接收其他外键实体类数据-->
        <association property="order" javaType="com.example.erp.entity.sd.Order">
            <result column="batch" property="batch"/>
        </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_area" property="computeArea"/>
            <result column="quantity" property="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"/>
        </association>
            <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"/>
        <!--<result column="g_typeId" property="glassTypes.typeId"/>
        <result column="g_type" property="glassTypes.type"/>-->
<!--        </association>-->
    </resultMap>
    <select id="selectWordOrder" resultMap="wordOrderMap">
        select
        o.order_id,
        ogd.production_id,
        o.batch,
        od.product_name,
        od.compute_area,
        od.quantity,
        od.compute_gross_area,
        od.perimeter,
        od.bend_radius,
        od.processing_note
        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 and o.create_order>0
        from `order` as o left join order_detail as od on o.order_id=od.order_id
        left join order_glass_detail as ogd on o.order_id=ogd.order_id and ogd.order_number=od.order_number
        where isnull(ogd.production_id) and o.order_review=2 and o.production_order!=2
            <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
                and o.order_id regexp #{orderGlassDetail.orderId}
            </if>
            <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''">
                and ogd.production_id regexp #{orderGlassDetail.productionId}
            </if>
            <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
                and o.batch regexp #{orderGlassDetail.order.batch}
            </if>
            <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''">
                and od.product_name regexp #{orderGlassDetail.orderDetail.productName}
            </if>
        <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
            and o.order_id regexp #{orderGlassDetail.orderId}
        </if>
            <if test="orderGlassDetail.createTime != ''">
                and DATE_FORMAT((ogd.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
            </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
@@ -71,21 +83,28 @@
    <select id="selectWordOrderNo" resultMap="wordOrderMap">
        select
        o.order_id,
        od.order_number,
        ogd.production_id,
        ogd.founder,
        o.batch,
        od.product_name,
        od.compute_area,
        od.quantity,
        od.compute_gross_area,
        od.perimeter,
        od.bend_radius,
        od.processing_note
        from `order` as o left join order_detail as od on o.order_id=od.order_id
        left join order_glass_detail as ogd on o.order_id=ogd.order_id and ogd.order_number=od.order_number
        o.project,
        o.order_type,
        (od.gross_area) as gross_area,
        (od.quantity) as quantity,
        o.creator,
        od.id,
        o.customer_name,
        o.processing_note
        from sd.order_glass_detail  as ogd
        left join  order_detail as od
        on od.order_id=ogd.order_id
        and ogd.order_number=od.order_number
        left join `order` as o
        on o.order_id=ogd.order_id
        where ogd.production_id IS NOT NULL
        and o.order_review>0
        <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
            and ogd.order_id regexp #{orderGlassDetail.orderId}
            and o.order_id regexp #{orderGlassDetail.orderId}
        </if>
        <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''">
            and ogd.production_id regexp #{orderGlassDetail.productionId}
@@ -93,22 +112,27 @@
        <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
            and o.batch regexp #{orderGlassDetail.order.batch}
        </if>
        <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''">
            and od.product_name regexp #{orderGlassDetail.orderDetail.productName}
        <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((ogd.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
            and DATE_FORMAT((o.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
        </if>
        group by ogd.production_id,ogd.order_number
        order by ogd.id desc
        ;
        group by od.id,ogd.order_id,od.order_number
        order by od.id desc
    </select>
    <select id="addWordOrder" >
    <select id="addWordOrder">
        select od.order_id,
        od.product_id,
        od.product_name,
@@ -118,7 +142,7 @@
        from sd.order_detail as od
        left join sd.order as o
        on od.order_id =o.order_id
        where od.order_id = #{orderId}  and  o.production_order!=2
        where FIND_IN_SET(od.order_id,#{orderId})    and o.production_order!=2
        <if test="orderDetail.orderId != null and orderDetail.orderId != ''">
            and od.order_id regexp #{orderDetail.orderId}
        </if>
@@ -132,13 +156,13 @@
        ;
    </select>
    <select id="selectOrderNumber" >
        select ifnull(count(ogd.production_id),0)
    <select id="selectOrderNumber">
        select ifnull(count(ogd.production_id), 0)
        from sd.order_glass_detail as ogd
        where ogd.production_id = #{productIdVl}
    </select>
    <update id="addOrderWorkMp" >
    <update id="addOrderWorkMp">
        update sd.order_detail as od left join sd.order_glass_detail as ogd
            on od.order_id = ogd.order_id and od.order_number = ogd.order_number
@@ -147,11 +171,11 @@
            ogd.founder=#{userName}
        where od.order_id = #{orderId}
          and od.product_id =#{productId}
          and od.product_id = #{productId}
          and od.product_name = #{productName}
    </update>
<!--    删除工单-->
    <!--    删除工单-->
    <update id="deleteOrderWorkMp">
        update sd.order_detail as od left join sd.order_glass_detail as ogd
            on od.order_id = ogd.order_id and od.order_number = ogd.order_number
@@ -159,7 +183,6 @@
            ogd.production_time=null,
            ogd.founder=null
        where od.order_id = #{orderId}
          and od.product_name = #{productName}
    </update>
    <select id="selectWorkCount">
@@ -172,10 +195,15 @@
    <select id="selectYesWorkCount">
        select COUNT(distinct order_number)
        from order_glass_detail
        where  order_id = #{orderId}
        where order_id = #{orderId}
    </select>
    <update id="updateWorkType">
        update sd.order as o set o.production_order=#{state} where o.order_id=#{orderId}
        update sd.order as o
        set o.production_order=#{state}
        where o.order_id = #{orderId}
    </update>
    <select id="selectProcessCard">
        select processing_card from sd.`order` where order_id = #{orderId}
    </select>
</mapper>