chenlu
2024-07-02 d39c0479c9ddd38dc36b3c2e29a4e5a3b24fd3d7
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -125,7 +125,7 @@
            fc.quantity AS quantity_card,
            ogd.child_width,
            ogd.child_height,
            od.shape,
            if(od.shape=1,'普形',if(od.shape=2,'异形','')) as shape,
            fc.quantity -odpd.reporting_work_num -odpd.broken_num  as quantity,
            fc.quantity -odpd.reporting_work_num -odpd.broken_num  as completedQuantity,
            odpd.reporting_work_num as completed,
@@ -163,7 +163,7 @@
            fc.quantity AS quantity_card,
            ogd.child_width,
            ogd.child_height,
            od.shape,
        if(od.shape=1,'普形',if(od.shape=2,'异形','')) as shape,
            if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num ) < 0,
                0,
        odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) as quantity,
@@ -359,7 +359,7 @@
                                   and b.process_id = a.process_id
                 left join (select sum(patch_num) as patchNumSum,order_sort,technology_number,process_id
                            from patch_log
                            group by reporting_work_id,order_sort,technology_number) as c
                            group by order_sort,technology_number) as c
                           on
                                       c.process_id = a.process_id
                                   and c.order_sort = a.order_number
@@ -382,7 +382,7 @@
            c.quantity as quantity_card,
            d.child_width,
            d.child_height,
            e.shape,
            if(e.shape=1,'普形',if(e.shape=2,'异形','')) as shape,
            if(ifnull(a.completed_quantity+a.breakage_quantity,0)=0,
                c.quantity-ifnull(a.completed_quantity+a.breakage_quantity,0),
                ifnull(a.completed_quantity+a.breakage_quantity,0)) as 'quantity', -- 可报工数
@@ -418,7 +418,7 @@
        right join  flow_card as c
        on c.process_id = b.process_id
        left join reporting_work_detail as a
        right join reporting_work_detail as a
        on  a.reporting_work_id = b.reporting_work_id
        and c.order_number=a.order_number
        and c.technology_number = a.technology_number
@@ -467,7 +467,7 @@
                  and g.technology_number = a.technology_number
        </if>
        where b.reporting_work_id = #{reportingWorkId}
        GROUP BY c.order_number
        GROUP BY c.order_number,c.technology_number
    </select>
<select id="selectReportingWorkMp" resultMap="reportingWorkMap">
        select rw.reporting_work_id,
@@ -530,6 +530,24 @@
        where rw.reviewed_state != 2
          and rw.reporting_work_time between #{selectTime1} and #{selectTime2} and position(#{orderId} in rw.order_id)
          and rw.reviewed_state!=-1
        <if test="reportingWork.reportingWorkId != null and reportingWork.reportingWorkId != ''">
            and rw.reporting_work_id regexp #{reportingWork.reportingWorkId}
        </if>
        <if test="reportingWork.orderId != null and reportingWork.orderId != ''">
            and o.order_id regexp #{reportingWork.orderId}
        </if>
        <if test="reportingWork.processId != null and reportingWork.processId != ''">
            and rw.process_id regexp #{reportingWork.processId}
        </if>
        <if test="reportingWork.order.project != null and reportingWork.order.project != ''">
            and o.project regexp #{reportingWork.order.project}
        </if>
        <if test="reportingWork.order.batch != null and reportingWork.order.batch != ''">
            and o.batch regexp #{reportingWork.order.batch}
        </if>
        <if test="reportingWork.thisProcess != null and reportingWork.thisProcess != ''">
            and rw.this_process regexp #{reportingWork.thisProcess}
        </if>
        ORDER BY rw.reporting_work_id desc
        limit #{offset},#{pageSize};
    </select>
@@ -663,6 +681,18 @@
          and position(#{processId} in rw.process_id)
          and position(#{state} in dd.quality_ins_status)
          and rw.reviewed_state!=-1
        <if test="reportingWork.reportingWorkId != null and reportingWork.reportingWorkId != ''">
            and rw.reporting_work_id regexp #{reportingWork.reportingWorkId}
        </if>
        <if test="reportingWork.processId != null and reportingWork.processId != ''">
            and rw.process_id regexp #{reportingWork.processId}
        </if>
        <if test="reportingWork.order.project != null and reportingWork.order.project != ''">
            and o.project regexp #{reportingWork.order.project}
        </if>
        <if test="reportingWork.order.customerName != null and reportingWork.order.customerName != ''">
            and o.customer_name regexp #{reportingWork.order.customerName}
        </if>
        ORDER BY rw.reporting_work_id desc
        limit #{offset},#{pageSize};
    </select>
@@ -711,4 +741,9 @@
        GROUP BY rwd.order_number, ogd.glass_child, rwd.technology_number, dd.id
        ORDER BY rwd.order_number
    </select>
    <select id="selectLayerByReportingWorkId">
        select  REPLACE(GROUP_CONCAT(DISTINCT rwd.technology_number),',','') from reporting_work_detail as rwd
        where rwd.reporting_work_id=#{reportingWorkId}
    </select>
</mapper>