| | |
| | | <result property="thisProcess" column="this_process"/> |
| | | <result property="reviewedState" column="reviewed_state"/> |
| | | <result property="previousProcessQuantity" column="previous_process_quantity"/> |
| | | <result property="reportingWorkTime" column="reporting_work_time"/> |
| | | <result property="thisCompletedQuantity" column="this_completed_quantity"/> |
| | | <result property="thisWornQuantity" column="this_worn_quantity"/> |
| | | <result property="deviceName" column="device_name"/> |
| | | <result property="teamsGroupsName" column="teams_groups_name"/> |
| | | <result property="reviewedState" column="reviewed_state"/> |
| | | <result property="reportingWorkId" column="reporting_work_id"/> |
| | | <result property="processId" column="process_id"/> |
| | | <result property="completedArea" column="completedArea"/> |
| | | <result property="wornArea" column="wornArea"/> |
| | | |
| | | <association property="order" javaType="com.example.erp.entity.sd.Order"> |
| | | <result property="customerId" column="customer_id"/> |
| | | <result property="customerName" column="customer_name"/> |
| | | <result property="project" column="project"/> |
| | | <result property="batch" column="batch"/> |
| | | </association> |
| | | <association property="flowCard" javaType="com.example.erp.entity.pp.FlowCard"> |
| | | <result property="orderId" column="order_id"/> |
| | |
| | | </association> |
| | | <association property="reportingWorkDetail" javaType="com.example.erp.entity.pp.ReportingWorkDetail"> |
| | | <result property="completedQuantity" column="completed_quantity"/> |
| | | </association> |
| | | <association property="orderGlassDetail" javaType="com.example.erp.entity.sd.OrderGlassDetail"> |
| | | <result property="area" column="area"/> |
| | | </association> |
| | | |
| | | </resultMap> |
| | |
| | | ogd.child_height, |
| | | od.shape, |
| | | fc.quantity -odpd.reporting_work_num -odpd.broken_num + ifnull(c.patchNumSum,0) as quantity, |
| | | odpd.reporting_work_num_count as completed, |
| | | odpd.broken_num as onceBroken |
| | | fc.quantity -odpd.reporting_work_num -odpd.broken_num + ifnull(c.patchNumSum,0) as completedQuantity, |
| | | odpd.reporting_work_num as completed, |
| | | odpd.broken_num as onceBroken, |
| | | if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag -- 判断是否已经完成,已经完成不序号和同序号数量相同才能提交 |
| | | FROM |
| | | sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | |
| | | ogd.child_height, |
| | | od.shape, |
| | | odpds.reporting_work_num -odpd.reporting_work_num -odpd.broken_num + ifnull(c.patchNumSum,0) as quantity, |
| | | odpd.reporting_work_num_count as completed, |
| | | odpds.reporting_work_num -odpd.reporting_work_num -odpd.broken_num + ifnull(c.patchNumSum,0) as completedQuantity, |
| | | odpd.reporting_work_num as completed, |
| | | odpd.broken_num as onceBroken, |
| | | ogd.`group` |
| | | ogd.`group`, |
| | | if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag -- 判断是否已经完成,已经完成不序号和同序号数量相同才能提交 |
| | | |
| | | |
| | | FROM |
| | |
| | | and a.order_number = #{orderNumber} |
| | | and a.technology_number = #{technologyNumber} |
| | | </select> |
| | | |
| | | <!--查询修改报工明细数据--> |
| | | <select id="selectByReportingWorkId" > |
| | | select |
| | | a.reporting_work_id, |
| | | d.order_number, |
| | | d.glass_child, |
| | | d.technology_number, |
| | | d.glass_address, |
| | | c.quantity as quantity_card, |
| | | d.child_width, |
| | | d.child_height, |
| | | e.shape, |
| | | a.completed_quantity+a.breakage_quantity as 'quantity', -- 可报工数 |
| | | a.completed_quantity as 'completedQuantity', -- 完工数 |
| | | a.breakage_quantity as 'breakageQuantity', -- 破损数 |
| | | f.completed_quantity as thisQuantitySum ,-- 本工序完工和 |
| | | if(c.quantity-f.completed_quantity = 0 ,true,false) as saveFlag, |
| | | <if test="nextProcess != null and nextProcess != ''"> -- 非最后一道工序 |
| | | ifnull(g.completed_quantity,0) as nextQuantitySum, -- 后工序已完成 |
| | | if((f.completed_quantity |
| | | -ifnull(g.completed_quantity,0)) |
| | | >= |
| | | a.completed_quantity, |
| | | 0, |
| | | (a.completed_quantity-f.completed_quantity |
| | | +ifnull(g.completed_quantity,0)) |
| | | ) as minQuantity -- 修改最小数 |
| | | </if> |
| | | <if test="nextProcess == null or nextProcess == ''"> -- 最后一道工序 |
| | | # c.received_quantity, -- 已入库数量 |
| | | # c.inventory_quantity, -- 库存数量 |
| | | if(ifnull(inventory_quantity,0) |
| | | -ifnull(c.received_quantity,0) |
| | | >= a.completed_quantity,0, |
| | | (a.completed_quantity-(ifnull(c.inventory_quantity,0) |
| | | -ifnull(c.received_quantity,0))) |
| | | ) |
| | | as minQuantity -- 修改最小数 |
| | | </if> |
| | | -- e.thisQuantitySum |
| | | from |
| | | reporting_work_detail as a |
| | | left join reporting_work as b |
| | | on a.reporting_work_id = b.reporting_work_id |
| | | left join flow_card as c |
| | | on c.process_id = b.process_id |
| | | and c.technology_number = a.technology_number |
| | | left join sd.order_glass_detail as d |
| | | on d.order_id = c.order_id |
| | | and c.order_number = d.order_number |
| | | and d.technology_number = c.technology_number |
| | | left join sd.order_detail as e |
| | | on e.order_id = d.order_id and e.order_number = d.order_number |
| | | |
| | | left join (select sum(completed_quantity) as completed_quantity , |
| | | rw.process_id, |
| | | rwd.order_number, |
| | | rwd.technology_number, |
| | | rw.this_process |
| | | from reporting_work as rw |
| | | left join reporting_work_detail as rwd |
| | | on rw.reporting_work_id = rwd.reporting_work_id |
| | | group by rw.process_id, |
| | | rw.this_process, |
| | | rwd.order_number, |
| | | rwd.technology_number |
| | | ) as f |
| | | on f.process_id = b.process_id |
| | | and f.this_process = b.this_process |
| | | and f.order_number = a.order_number |
| | | and f.technology_number = a.technology_number |
| | | <if test="nextProcess != null and nextProcess != ''"> |
| | | left join (select ifnull(sum(completed_quantity),0) as completed_quantity , |
| | | rw.process_id, |
| | | rwd.order_number, |
| | | rwd.technology_number, |
| | | rw.this_process |
| | | from reporting_work as rw |
| | | left join reporting_work_detail as rwd |
| | | on rw.reporting_work_id = rwd.reporting_work_id |
| | | group by rw.process_id, |
| | | rw.this_process, |
| | | rwd.order_number, |
| | | rwd.technology_number |
| | | ) as g |
| | | on g.process_id = b.process_id |
| | | and g.this_process = b.next_process |
| | | and g.order_number = a.order_number |
| | | and g.technology_number = a.technology_number |
| | | </if> |
| | | where a.reporting_work_id = #{reportingWorkId} |
| | | </select> |
| | | <select id="selectReportingWorkMp" resultMap="reportingWorkMap"> |
| | | select rw.reporting_work_id, |
| | | (rw.reporting_work_time) as reporting_work_time, |
| | | o.order_id, |
| | | rw.process_id, |
| | | o.project, |
| | | o.batch, |
| | | rw.this_process, |
| | | rw.this_completed_quantity, |
| | | (ogd.area * rw.this_completed_quantity) as completedArea, |
| | | rw.this_worn_quantity, |
| | | (ogd.area * rw.this_worn_quantity) as wornArea, |
| | | rw.device_name, |
| | | rw.teams_groups_name, |
| | | rw.reviewed_state |
| | | # (IF(rw.reviewed_state = 0, '未审核', IF(rw.reviewed_state = 1, '审核通过', '审核不通过'))) as reviewed_state |
| | | from sd.order as o |
| | | left join sd.order_glass_detail as ogd on ogd.order_id = o.order_id |
| | | left join reporting_work as rw on rw.order_id = ogd.order_id and rw.production_id = ogd.production_id |
| | | left join reporting_work_detail as rwd |
| | | on rwd.reporting_work_id = rw.reporting_work_id and rwd.order_number = ogd.order_number and |
| | | rwd.technology_number = ogd.technology_number |
| | | 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> |
| | | GROUP BY rw.reporting_work_id |
| | | ORDER BY rw.reporting_work_id desc |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getPageTotal"> |
| | | select CEILING(count(rw.reporting_work_id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct rw.reporting_work_id) as 'total' |
| | | from sd.order as o |
| | | left join sd.order_glass_detail as ogd on ogd.order_id = o.order_id |
| | | left join reporting_work as rw on rw.order_id = ogd.order_id and rw.production_id = ogd.production_id |
| | | left join reporting_work_detail as rwd |
| | | on rwd.reporting_work_id = rw.reporting_work_id and rwd.order_number = ogd.order_number and |
| | | rwd.technology_number = ogd.technology_number |
| | | 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 |
| | | ORDER BY rw.reporting_work_id desc |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | <!-- 根据报工编号查询下工序--> |
| | | <select id="selectNextProcess"> |
| | | select next_process from reporting_work where reporting_work_id=#{reportingWorkId} |
| | | </select> |
| | | <!-- 查询下工序是否报工--> |
| | | <select id="selectCountByProcessId"> |
| | | select count(reporting_work_id) from reporting_work where this_process=#{nextProcess} and process_id=#{processId} |
| | | </select> |
| | | |
| | | <!-- 查询完工次破数量--> |
| | | <select id="reportingWorkDate"> |
| | | select rw.process_id, |
| | | rwd.order_number, |
| | | rwd.technology_number, |
| | | rwd.completed_quantity, |
| | | IFNULL(SUM(dd.breakage_quantity), 0) as breakage_quantity |
| | | from reporting_work as rw |
| | | left join reporting_work_detail as rwd on rw.reporting_work_id = rwd.reporting_work_id |
| | | left join damage_details as dd |
| | | on dd.reporting_work_id = rwd.reporting_work_id and dd.order_number = rwd.order_number and |
| | | dd.technology_number = rwd.technology_number |
| | | where rw.reporting_work_id = #{reportingWorkId} |
| | | GROUP BY rwd.order_number, rwd.technology_number |
| | | </select> |
| | | |
| | | <!-- 修改报工流程卡表数据--> |
| | | <update id="updateWorkProcess"> |
| | | update sd.order_process_detail |
| | | set reporting_work_num_count=reporting_work_num_count - #{completedQuantity}, |
| | | reporting_work_num=reporting_work_num - #{completedQuantity}, |
| | | broken_num=broken_num - #{breakageQuantity} |
| | | where process_id = #{processId} |
| | | and order_number = #{orderNumber} |
| | | and technology_number = #{technologyNumber} |
| | | and process = #{thisProcess} |
| | | </update> |
| | | |
| | | <!-- 删除报工--> |
| | | <update id="deleteWork"> |
| | | update reporting_work set reviewed_state=-1 |
| | | where reporting_work_id = #{reportingWorkId} |
| | | </update> |
| | | <!-- 获取最后一道工序--> |
| | | <select id="selectLastProcess"> |
| | | select process |
| | | from sd.order_process_detail |
| | | where process_id = #{processId} |
| | | and order_number = 1 |
| | | and technology_number = 1 |
| | | order by id desc |
| | | LIMIT 1 |
| | | </select> |
| | | <!-- 查询可入库、已入库数量--> |
| | | <select id="selectReceiptQuantity"> |
| | | select ifnull(SUM(quantity),0) as quantity, |
| | | ifnull(SUM(inventory_quantity), 0) as inventoryQuantity, |
| | | ifnull(SUM(received_quantity), 0) as receivedQuantity |
| | | from flow_card |
| | | where process_id = #{processId} |
| | | and technology_number = 1 |
| | | GROUP BY process_id |
| | | </select> |
| | | <!-- 查询报工编号完工数量--> |
| | | <select id="selectCompletedQuantity"> |
| | | select ifnull(this_completed_quantity,0) from reporting_work where reporting_work_id=#{reportingWorkId} |
| | | </select> |
| | | <!-- 更新流程卡可入库数量--> |
| | | <update id="updateInventoryQuantity"> |
| | | update flow_card |
| | | set inventory_quantity = inventory_quantity - #{completedQuantity} |
| | | where process_id = #{processId} |
| | | and order_number = #{orderNumber} |
| | | and technology_number = #{technologyNumber} |
| | | </update> |
| | | </mapper> |