123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540 |
- <?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.factory.web.mapper.pm.PreventMistakeMapper">
- <!--取得防错计划点检列表(审批通过的 防错计划)(计划当天点检状态,plan_status,0未完成 1已完成 2待重检) -->
- <select id="getPmPlanCheckList" resultType="com.factory.web.entity.pm.res.PmPlanCheckListRes">
- SELECT
- bp.id AS benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- GROUP_CONCAT( uu.`name` ) AS check_person,
- bp.created_time,
- bp.pause_flag,
- ps.plan_status
- FROM
- benteler_plan bp,
- onsite_calendar oc,
- us_user uu,
- onsite_approval_plan oap,
- (
- SELECT c.benteler_plan_id,
- CASE
- WHEN c.count0 > 0 THEN 0
- WHEN c.count1 > 0 THEN 0
- WHEN (c.count2 + c.count4) = c.count THEN 1
- WHEN c.count3 > 0 THEN 2
- ELSE -1
- END AS plan_status
- FROM (
- SELECT bp.id AS benteler_plan_id,
- SUM(CASE WHEN ot.`status` = 0 THEN 1 ELSE 0 END) AS count0,
- SUM(CASE WHEN ot.`status` = 1 THEN 1 ELSE 0 END) AS count1,
- SUM(CASE WHEN ot.`status` = 2 THEN 1 ELSE 0 END) AS count2,
- SUM(CASE WHEN ot.`status` = 3 THEN 1 ELSE 0 END) AS count3,
- SUM(CASE WHEN ot.`status` = 4 THEN 1 ELSE 0 END) AS count4,
- COUNT(*) AS count
- FROM benteler_plan bp,
- onsite_calendar oc,
- onsite_task ot
- WHERE bp.id = oc.benteler_plan_id
- AND oc.id = ot.onsite_calendar_id
- AND TO_DAYS(ot.task_time) = TO_DAYS(NOW())
- AND bp.plan_type = 2
- GROUP BY bp.id
- ) c
- ) ps
- WHERE
- bp.id = oc.benteler_plan_id
- AND oc.user_id = uu.id
- AND bp.id = oap.benteler_plan_id
- AND bp.id = ps.benteler_plan_id
- AND bp.plan_type = 2
- AND oap.approval_level = 2
- AND oap.`status` = 1
- <if test="req.bentelerPlanName != null and req.bentelerPlanName != ''">
- AND bp.`name` LIKE CONCAT('%', #{req.bentelerPlanName}, '%')
- </if>
- <if test="req.planStatus != null">
- AND ps.plan_status = #{req.planStatus}
- </if>
- GROUP BY
- bp.id
- </select>
-
- <!-- 取得防错计划列表(查询所有的防错计划)(计划审批状态plan_status 0待质量经理审批、1待生产经理审批、2已驳回待修改、3审批通过) -->
- <select id="getPmPlanList" resultType="com.factory.web.entity.pm.res.PmPlanListRes">
- SELECT
- bp.id AS benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- bp.created_time,
- bp.pause_flag,
- bp.plan_type,
- ps.plan_status
- FROM
- benteler_plan bp,
- (
- SELECT a.id,
- a.benteler_plan_id,
- a.approval_level,
- a.`status`,
- CASE
- WHEN a.approval_level = 2 AND a.`status` = 0 THEN 1
- WHEN a.approval_level = 2 AND a.`status` = 1 THEN 3
- WHEN a.approval_level = 2 AND a.`status` = 2 THEN 2
- WHEN a.approval_level = 1 AND a.`status` = 0 THEN 0
- WHEN a.approval_level = 1 AND a.`status` = 2 THEN 2
- ELSE -1
- END AS plan_status
- FROM onsite_approval_plan a,
- (
- SELECT
- bp.id AS benteler_plan_id,
- MAX( oap.approval_level ) AS approval_level
- FROM
- benteler_plan bp,
- onsite_approval_plan oap
- WHERE
- bp.id = oap.benteler_plan_id
-
- GROUP BY
- bp.id
- ) b
- WHERE a.benteler_plan_id = b.benteler_plan_id
- AND a.approval_level = b.approval_level
- ) ps
- WHERE
- bp.id = ps.benteler_plan_id
- AND ps.plan_status in (0, 1, 2)
- <if test="req.bentelerPlanName != null and req.bentelerPlanName != ''">
- AND bp.`name` LIKE CONCAT('%', #{req.bentelerPlanName}, '%')
- </if>
- <if test="req.planType != null">
- AND bp.plan_type = #{req.planType}
- </if>
- </select>
-
- <!--取得防错计划当天任务信息-->
- <select id="getTaskList" resultType="com.factory.web.entity.pm.res.PmTaskListRes">
- SELECT bp.id AS benteler_plan_id,
- oc.id AS onsite_calendar_id,
- ot.id AS onsite_task_id,
- ot.`status`
- FROM benteler_plan bp,
- onsite_calendar oc,
- onsite_task ot
- WHERE bp.id = oc.benteler_plan_id
- AND oc.id = ot.onsite_calendar_id
- AND TO_DAYS(ot.task_time) = TO_DAYS(NOW())
- AND bp.id = #{req.bentelerPlanId}
- </select>
-
- <!--取得检查记录 -->
- <!-- 取得计划下的工作站和巡检项目 -->
- <select id="getPmWorkshopItemList" resultType="com.factory.web.entity.pm.res.PmCheckRecordListRes">
- SELECT oi.workshop_id,
- ow.ws_name,
- oi.id AS onsite_item_id,
- oi.item_content
- FROM onsite_item oi,
- onsite_workshop ow
- WHERE oi.workshop_id = ow.id
- AND ow.benteler_plan_id = #{req.bentelerPlanId}
- ORDER BY oi.workshop_id, oi.id
- </select>
- <!-- 取得一个月里巡检项目每天的检查结果 --><!-- 暂时取onsite_task的时间,如果取onsite_item_result的时间,会不会有第二天才处理头一天的任务的 -->
- <select id="getPmItemResultList" resultType="com.factory.web.entity.pm.res.PmCheckRecordRes">
- SELECT ot.task_time,
- oir.result
- FROM onsite_item_result oir,
- onsite_task ot,
- onsite_calendar oc
- WHERE oir.onsite_task_id = ot.id
- AND ot.onsite_calendar_id = oc.id
- AND oc.type_flag = #{req.typeFlag}
- <if test="req.yearMonth != null and req.yearMonth != ''">
- AND DATE_FORMAT(ot.task_time, '%Y-%m') = #{req.yearMonth}
- </if>
- AND oir.onsite_item_id = #{req.onsiteItemId}
- ORDER BY ot.task_time
- </select>
- <!--取得Pad端防错计划列表 -->
- <select id="getPmPlanListForPad" resultType="com.factory.web.entity.pm.res.PmPlanListForPadRes">
- SELECT ot.id AS onsite_task_id,
- ot.`status`,
- oc.benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- oc.id AS onsite_calendar_id,
- oc.type_flag
- FROM onsite_task ot,
- onsite_calendar oc,
- benteler_plan bp
- WHERE ot.onsite_calendar_id = oc.id
- AND oc.benteler_plan_id = bp.id
- AND bp.pause_flag = 0
- <if test="req.type == 0"> <!-- 未完成 -->
- AND ot.`status` = 0
- </if>
- <if test="req.type == 1"> <!-- 已完成 -->
- AND ot.`status` in (1, 2, 4)
- </if>
- <if test="req.type == 2"> <!-- 待重检(不放行) -->
- AND ot.`status` = 3
- </if>
- AND TO_DAYS(ot.task_time) = TO_DAYS(NOW())
- AND oc.user_id = #{req.userId}
- -- GROUP BY ot.id
- </select>
-
- <!--取得审批人 -->
- <select id="getApprovalUser" resultType="com.factory.web.entity.pm.res.ApprovalUserRes">
- SELECT uur.user_id,
- ar.type,
- ar.approval_level
- FROM approval_rule ar,
- us_user_role uur
- WHERE ar.role_id = uur.role_id
- AND ar.approval_level = #{req.approvalLevel}
- AND ar.type = #{req.type}
- LIMIT 0,1
- </select>
- <!--取得今天每频次点检信息(今天的每频次点检人、点检时间)-->
- <select id="getPmCheckList" resultType="com.factory.web.entity.pm.res.PmCheckListRes">
- SELECT
- bp.id AS benteler_plan_id,
- oc.id AS onsite_calendar_id,
- oc.type_flag,
- uu.`name` AS check_person,
- ot.id AS onsite_task_id,
- MIN(oir.created_time) AS check_time
- FROM
- benteler_plan bp
- JOIN onsite_calendar oc ON (bp.id = oc.benteler_plan_id )
- JOIN us_user uu ON (oc.user_id = uu.id )
- LEFT JOIN onsite_task ot ON (oc.id = ot.onsite_calendar_id )
- LEFT JOIN onsite_item_result oir ON (ot.id = oir.onsite_task_id )
- WHERE TO_DAYS( ot.task_time ) = TO_DAYS( NOW( ) )
- AND bp.id = #{req.bentelerPlanId}
- GROUP BY
- ot.onsite_calendar_id
- </select>
- <!--取得不放行任务对应的工作站 -->
- <select id="getPmWorkshopNoGoList" resultType="com.factory.web.entity.pm.res.PmWorkshopNoGoListRes">
- SELECT DISTINCT ow.id AS workshop_id,
- ow.ws_name
- FROM onsite_item_result oir,
- onsite_item oi,
- onsite_workshop ow
- WHERE oir.onsite_item_id = oi.id
- AND oi.workshop_id = ow.id
- AND oir.result = 1
- AND ow.benteler_plan_id = #{req.bentelerPlanId}
- AND oir.onsite_task_id = #{req.onsiteTaskId}
- </select>
-
- <!-- 取得不放行任务对应的点检项目 -->
- <select id="getPmItemNoGoList" resultType="com.factory.web.entity.pm.res.PmItemNoGoListRes">
- SELECT
- oir.onsite_item_id,
- oi.item_content,
- oir.result
- FROM
- onsite_item_result oir,
- onsite_task ot,
- onsite_item oi
- WHERE
- oir.onsite_task_id = ot.id
- AND oir.onsite_item_id = oi.id
- AND ot.`status` = 3
- AND oir.result = 1
- AND oi.workshop_id = #{req.workshopId}
- AND oir.onsite_task_id = #{req.onsiteTaskId}
- </select>
- <!-- 取得不放行任务对应的审批人、审批意见、审批时间 -->
- <select id="getPmNoGoTaskAapproval" resultType="com.factory.web.entity.pm.res.PmNoGoTaskAapprovalRes">
- SELECT
- oat.approval_user_id,
- uu.`name` AS approval_person,
- oat.reason,
- oat.updated_time AS approval_time
- FROM
- onsite_task ot,
- onsite_approval_task oat,
- us_user uu
- WHERE
- ot.id = oat.onsite_task_id
- AND oat.approval_user_id = uu.id
- AND ot.`status` = 3
- AND oat.approval_level = 2
- AND oat.`status` = 2
- AND ot.id = #{req.onsiteTaskId}
- </select>
- <!--
- <select id="getPmItemNoGoList" resultType="com.factory.web.entity.pm.res.PmItemNoGoListRes">
- SELECT oir.onsite_item_id,
- oi.item_content,
- oat.approval_user_id,
- uu.`name` AS approval_person,
- oat.updated_time AS approval_time
- FROM onsite_item_result oir,
- onsite_task ot,
- onsite_item oi,
- onsite_approval_task oat,
- us_user uu
- WHERE oir.onsite_task_id = ot.id
- AND oir.onsite_item_id = oi.id
- AND ot.id = oat.onsite_task_id
- AND oat.approval_user_id = uu.id
- AND ot.`status` = 3
- AND oir.result = 1
- AND oat.approval_level = 2
- AND oat.`status` = 2
- AND oi.workshop_id = #{req.workshopId}
- AND oir.onsite_task_id = #{req.onsiteTaskId}
- </select>
- -->
-
- <!--取得审批人 -->
- <select id="getLatestApprovalInfo" resultType="com.factory.web.entity.pm.OnsiteApprovalPlan">
- SELECT oap.benteler_plan_id,
- oap.approval_level,
- oap.approval_user_id,
- oap.`status`,
- oap.reason,
- oap.updated_time
- FROM onsite_approval_plan oap,
- (
- SELECT oap.benteler_plan_id ,
- MAX(oap.approval_level) AS approval_level
- FROM onsite_approval_plan oap
- WHERE oap.benteler_plan_id = #{req.bentelerPlanId}
- ) a
- WHERE oap.benteler_plan_id = a.benteler_plan_id
- AND oap.approval_level = a.approval_level
- AND oap.benteler_plan_id = #{req.bentelerPlanId}
- </select>
-
- <!-- 取得计划下的点检项目数 -->
- <select id="getPmItemCount" resultType="int">
- SELECT COUNT(oi.id)
- FROM onsite_item oi,
- onsite_workshop ow
- WHERE oi.workshop_id = ow.id
- AND ow.benteler_plan_id = #{req.bentelerPlanId}
- </select>
-
- <!-- 取得计划下当前task的点检结果数 -->
- <select id="getPmItemResultCount" resultType="int">
- SELECT COUNT(oir.id)
- FROM onsite_item_result oir,
- onsite_item oi,
- onsite_workshop ow
- WHERE oir.onsite_item_id = oi.id
- AND oi.workshop_id = ow.id
- AND ow.benteler_plan_id = #{req.bentelerPlanId}
- AND oir.onsite_task_id = #{req.onsiteTaskId}
- </select>
-
- <!-- 取得工作站下的点检项目数 -->
- <select id="getPmWsItemCount" resultType="int">
- SELECT COUNT(oi.id)
- FROM onsite_item oi
- WHERE oi.workshop_id = #{req.workshopId}
- </select>
-
- <!-- 取得工作站下当前task的点检结果数 -->
- <select id="getPmWsItemResultCount" resultType="int">
- SELECT COUNT(oir.id)
- FROM onsite_item_result oir,
- onsite_item oi
- WHERE oir.onsite_item_id = oi.id
- AND oi.workshop_id = #{req.workshopId}
- AND oir.onsite_task_id = #{req.onsiteTaskId}
- </select>
-
-
-
-
-
- <!-- 取得防错放行 -->
- <select id="getPmReleaseList" resultType="com.factory.web.entity.pm.res.AbnormalTaskInfoRes">
- SELECT oc.benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- bp.plan_type,
- oat.approval_level,
- uu.`name` AS person,
- 1 AS method,
- oat.reason,
- oat.updated_time,
- ot.`status`,
- oc.type_flag,
- ot.id AS task_id
- FROM onsite_task ot,
- onsite_calendar oc,
- benteler_plan bp,
- onsite_approval_task oat,
- us_user uu
- WHERE ot.onsite_calendar_id = oc.id
- AND oc.benteler_plan_id = bp.id
- AND ot.id = oat.onsite_task_id
- AND oat.approval_user_id = uu.id
- AND oat.`status` = 1
- AND ot.`status` = 2
- AND DATE_FORMAT(ot.task_time, '%Y-%m-%d') = #{req.checkDate}
- </select>
-
- <!-- 取得防错重检 -->
- <select id="getPmRepeatList" resultType="com.factory.web.entity.pm.res.AbnormalTaskInfoRes">
- SELECT oc.benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- bp.plan_type,
- uu.`name` AS person,
- 2 AS method,
- ot.`status`,
- oc.type_flag,
- ot.id AS task_id
- FROM onsite_task ot,
- onsite_calendar oc,
- benteler_plan bp,
- us_user uu,
- (
- SELECT DISTINCT othb.onsite_task_id
- FROM onsite_task_his_blob othb,
- onsite_task ot
- WHERE othb.onsite_task_id = ot.id
- ) r
- WHERE ot.id = r.onsite_task_id
- AND ot.onsite_calendar_id = oc.id
- AND oc.benteler_plan_id = bp.id
- AND oc.user_id = uu.id
- AND DATE_FORMAT(ot.task_time, '%Y-%m-%d') = #{req.checkDate}
- </select>
-
- <!-- 取得防错工作站下的巡检项目和检查结果 -->
- <select id="getPmAbnormalItemList" resultType="com.factory.web.entity.pm.res.AbnormalItemRes">
- SELECT oir.onsite_item_id AS item_id,
- oi.item_content,
- oir.result
- FROM onsite_item_result oir,
- onsite_item oi
- WHERE oir.onsite_item_id = oi.id
- AND oir.onsite_task_id = #{req.taskId}
- AND oi.workshop_id = #{req.workshopId}
- </select>
-
-
-
-
- <!-- 取得首件放行 -->
- <select id="getFaReleaseList" resultType="com.factory.web.entity.pm.res.AbnormalTaskInfoRes">
- SELECT fac.benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- bp.plan_type,
- faat.approval_level,
- uu.`name` AS person,
- 1 AS method,
- faat.reason,
- faat.updated_time,
- fat.`status`,
- fac.type_flag,
- fat.id AS task_id
- FROM first_article_task fat,
- first_article_calendar fac,
- benteler_plan bp,
- first_article_approval_task faat,
- us_user uu
- WHERE fat.first_article_calendar_id = fac.id
- AND fac.benteler_plan_id = bp.id
- AND fat.id = faat.first_article_task_id
- AND faat.approval_user_id = uu.id
- AND faat.`status` = 1
- AND fat.`status` = 2
- AND DATE_FORMAT(fat.task_time, '%Y-%m-%d') = #{req.checkDate}
- </select>
-
- <!-- 取得首件重检 -->
- <select id="getFaRepeatList" resultType="com.factory.web.entity.pm.res.AbnormalTaskInfoRes">
- SELECT fac.benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- bp.plan_type,
- uu.`name` AS person,
- 2 AS method,
- fat.`status`,
- fac.type_flag,
- fat.id AS task_id
- FROM first_article_task fat,
- first_article_calendar fac,
- benteler_plan bp,
- us_user uu,
- (
- SELECT DISTINCT fathb.first_article_task_id
- FROM first_article_task_his_blob fathb,
- first_article_task fat
- WHERE fathb.first_article_task_id = fat.id
- ) r
- WHERE fat.id = r.first_article_task_id
- AND fat.first_article_calendar_id = fac.id
- AND fac.benteler_plan_id = bp.id
- AND fac.user_id = uu.id
- AND DATE_FORMAT(fat.task_time, '%Y-%m-%d') = #{req.checkDate}
- </select>
-
- <!-- 取得首件工作站下的巡检项目 -->
- <select id="getFaAbnormalItemList" resultType="com.factory.web.entity.pm.res.AbnormalItemRes">
- SELECT
- fai.id AS item_id,
- fai.item_content,
- fai.item_standard,
- fai.prefix,
- fai.sno_start,
- fai.sno_end,
- fai.val_flag,
- fai.val_up,
- fai.val_down,
- fai.val_ok,
- fai.val_desc,
- fai.level_info,
- fai.product_info,
- fai.tool_id,
- fai.tool_desc,
- fai.first_flag,
- fai.two_hundred_flag,
- fai.catch_flag,
- fai.val_unit
- FROM
- first_article_item fai
- WHERE
- fai.workshop_id = #{req.workshopId}
- </select>
-
- <!-- 取得首件检查结果 -->
- <select id="getFaAbnormalItemResultList" resultType="com.factory.web.entity.pm.res.AbnormalItemResultRes">
- SELECT
- fair.prefix,
- fair.sno,
- fair.val,
- fair.val_desc,
- fair.result,
- fair.tool_desc
- FROM
- first_article_item_result fair,
- first_article_item fai
- WHERE
- fair.first_article_item_id = fai.id
- AND fair.first_article_task_id = #{req.taskId}
- AND fair.first_article_item_id = #{req.itemId}
- <if test="req.typeFlag == 0"> <!-- 首件 -->
- AND fai.first_flag = 1
- </if>
- <if test="req.typeFlag == 1"> <!-- 200件 -->
- AND fai.two_hundred_flag = 1
- </if>
- <if test="req.typeFlag == 2"> <!-- 中断 -->
- AND fai.catch_flag = 1
- </if>
- </select>
-
- </mapper>
|