123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506 |
- <?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.fa.FirstArticleMapper">
- <!--取得首件计划点检列表(审批通过的 首件计划)(计划当天点检状态,plan_status,0未完成 1已完成 2待重检) -->
- <select id="getFaPlanCheckList" resultType="com.factory.web.entity.fa.res.FaPlanListRes">
- SELECT
- temp.benteler_plan_id,temp.benteler_plan_name,temp.created_time,temp.pause_flag,temp.check_person,
- <![CDATA[
- CASE
- WHEN temp.count0 > 0 THEN 0
- WHEN temp.count2 > 0 THEN 2
- WHEN temp.count1 > 0 THEN 1
- ELSE -1
- END AS plan_status
- ]]>
- FROM (
- SELECT
- bp.id AS benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- GROUP_CONCAT( uu.username ) AS check_person,
- bp.created_time,
- bp.pause_flag,
- <!-- 未完成 已完成 待重检-->
- SUM(IF(fat.`status` = 0 or fat.`status` = 1, 1,0)) AS count0,
- SUM(IF(fat.`status` = 2 or fat.`status` = 4, 1,0)) AS count1,
- SUM(IF(fat.`status` = 3, 1,0)) AS count2
- FROM
- benteler_plan bp
- join onsite_approval_plan oap on bp.id = oap.benteler_plan_id AND oap.approval_level = 2 AND oap.`status` = 1
- left join first_article_calendar fac on bp.id = fac.benteler_plan_id
- left join us_user uu on (fac.principal_one_id = uu.id or fac.principal_two_id = uu.id)
- left join first_article_task fat on fac.id = fat.first_article_calendar_id and TO_DAYS(fat.task_time) =
- TO_DAYS(NOW())
- WHERE
- bp.deleted= 0 and (bp.`status` = 4 or bp.`status` = 3) <!-- 审核通过已生效计划 -->
- AND bp.plan_type = 1
- <if test="req.bentelerPlanName != null and req.bentelerPlanName != ''">
- AND bp.`name` LIKE CONCAT('%', #{req.bentelerPlanName}, '%')
- </if>
- group by bp.id
- ) temp
- <where>
- <choose>
- <when test="req.planStatus != null and req.planStatus==0">
- temp.count0 > 0
- </when>
- <when test="req.planStatus != null and req.planStatus==2">
- temp.count2 > 0
- </when>
- <when test="req.planStatus != null and req.planStatus==1">
- temp.count1 > 0
- </when>
- </choose>
- </where>
- order by temp.benteler_plan_id desc
- </select>
- <!--取得Pad端首件计划列表 -->
- <select id="getFaPlanListForPad" resultType="com.factory.web.entity.fa.res.FaPlanListForPadRes">
- <if test="req.type == 0"> <!-- 未完成 -->
- SELECT DISTINCT fac.benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- fat.type_flag
- </if>
- <if test="req.type == 1 || req.type == 2"><!-- 已完成 --><!-- 待重检(不放行) -->
- SELECT fat.id AS first_article_task_id,
- fat.`status`,
- fac.benteler_plan_id,
- bp.`name` AS benteler_plan_name,
- fac.id AS first_article_calendar_id,
- fat.type_flag
- </if>
- <![CDATA[
- FROM first_article_task fat,
- first_article_calendar fac,
- benteler_plan bp
- WHERE fat.first_article_calendar_id = fac.id
- AND fac.benteler_plan_id = bp.id
- AND bp.pause_flag = 0 and bp.`status`= 4 AND bp.deleted = 0
- AND fat.type_flag <> 2]]>
- <!-- 0 初始化 1 待审核状态 2放行 3 不通过 4 员工提交直接通过 -->
- <if test="req.type == 0"> <!-- 未完成 -->
- AND fat.`status` = 0
- </if>
- <if test="req.type == 1"> <!-- 已完成 -->
- AND fat.`status` in (1, 2, 4)
- </if>
- <if test="req.type == 2"> <!-- 待重检(不放行) -->
- AND fat.`status` = 3
- </if>
- <if test="req.typeFlag != null"><!-- 0表示首件 1表示200件 -->
- AND fat.type_flag = #{req.typeFlag}
- </if>
- AND TO_DAYS(fat.task_time) = TO_DAYS(NOW())
- AND (fac.principal_one_id = #{req.userId} or fac.principal_two_id = #{req.userId} )
- and (
- DATE_FORMAT(now(), '%w') = 1
- and exists(select i.prefix from first_article_item i
- where i.workshop_id in (select id from first_article_workshop
- where benteler_plan_id = fac.benteler_plan_id) and i.prefix = 'W')
- or exists(select i.prefix from first_article_item i
- where i.workshop_id in (select id from first_article_workshop
- where benteler_plan_id = fac.benteler_plan_id) and i.prefix != 'W'))
- <if test="req.type == 0"> <!-- 未完成 -->
- group by fac.benteler_plan_id
- </if>
- order by fat.id desc
- </select>
- <!--取得Pad端工作站列表 -->
- <select id="getFaWorkshopListForPad" resultType="com.factory.web.entity.fa.FirstArticleWorkshop">
- SELECT DISTINCT faw.id,
- faw.ws_name,
- faw.pl_name,
- faw.benteler_plan_id
- FROM first_article_workshop faw,
- first_article_item fai
- WHERE faw.id = fai.workshop_id
- AND faw.benteler_plan_id = #{req.bentelerPlanId}
- <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>
- AND ((DATE_FORMAT(now(), '%w') = 1 and fai.prefix = 'W') or fai.prefix != 'W')
- </select>
- <!--取得Pad端巡检项目列表 -->
- <select id="getFaItemListForPad" resultType="com.factory.web.entity.fa.res.FaItemListForPadRes">
- SELECT
- fai.id,
- fai.workshop_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}
- <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>
- and ((DATE_FORMAT(now(), '%w') = 1 and fai.prefix = 'W') or fai.prefix != 'W')
- </select>
- <!--取得不放行任务对应的工作站 -->
- <select id="getFaWorkshopNoGoList" resultType="com.factory.web.entity.fa.res.FaWorkshopNoGoListRes">
- SELECT DISTINCT faw.id AS workshop_id,
- faw.ws_name,
- faw.pl_name,
- faw.benteler_plan_id bentelerPlanId
- FROM first_article_item_result fair,
- first_article_item fai,
- first_article_workshop faw
- WHERE fair.first_article_item_id = fai.id
- AND fai.workshop_id = faw.id
- AND fair.result_bak = 1
- AND faw.benteler_plan_id = #{req.bentelerPlanId}
- AND fair.first_article_task_id = #{req.firstArticleTaskId}
- </select>
- <!-- 取得不放行任务对应的点检项目 -->
- <select id="getFaItemNoGoList" resultType="com.factory.web.entity.fa.res.FaItemNoGoListRes">
- SELECT fair.id,
- fair.first_article_task_id,
- fair.first_article_item_id,
- fair.sno,
- fair.val AS val_check,
- fair.val_desc AS val_desc_check,
- fair.result,
- fair.tool_desc AS tool_desc_check,
- fair.abnormal,
- fair.order_number,
- fai.workshop_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_result fair,
- first_article_task fat,
- first_article_item fai
- WHERE fair.first_article_task_id = fat.id
- AND fair.first_article_item_id = fai.id
- AND fat.`status` = 3
- AND fair.result_bak = 1
- AND fai.workshop_id = #{req.workshopId}
- AND fair.first_article_task_id = #{req.firstArticleTaskId}
- </select>
- <!-- 取得任务(首件、200件都是后台生成的任务,每个用户、计划、当天、类型(首件或200件))对应的应该是一个task。中断的task可以随便提交,所以要取状态是0初始化的,用户是-1这个userId不用传 -->
- <!-- 查询首件或200件task,传bentelerPlanId、typeFlag、userId -->
- <!-- 查询中断task,传bentelerPlanId、typeFlag、status=0初始化 -->
- <select id="getFaTaskInfo" resultType="com.factory.web.entity.fa.FirstArticleTask">
- SELECT fat.id,
- fat.`status`,
- fat.first_article_calendar_id as firstArticleCalendarId
- FROM first_article_task fat,
- first_article_calendar fac
- WHERE fat.first_article_calendar_id = fac.id
- AND fac.benteler_plan_id = #{req.bentelerPlanId}
- <choose>
- <when test="req.taskId != null">
- and fat.id = #{req.taskId}
- </when>
- <otherwise>
- AND fat.type_flag = #{req.typeFlag}
- </otherwise>
- </choose>
-
- <if test="req.userId != null">
- AND (fac.principal_one_id = #{req.userId} OR fac.principal_two_id = #{req.userId})
- </if>
- <if test="req.status != null">
- AND fat.`status` = #{req.status}
- </if>
- AND TO_DAYS(fat.task_time) = TO_DAYS(NOW())
- </select>
- <!-- 查询中断最新的task -->
- <select id="getFaTaskInfoCatchLatest" resultType="com.factory.web.entity.fa.FirstArticleTask">
- SELECT fat.id, fat.`status`
- FROM first_article_task fat,
- first_article_calendar fac
- WHERE fat.first_article_calendar_id = fac.id
- AND fac.benteler_plan_id = #{req.bentelerPlanId}
- AND TO_DAYS(fat.task_time) = TO_DAYS(NOW())
- AND fat.type_flag = 2
- <choose>
- <when test="req.taskId!=null">
- and fat.id=#{req.taskId}
- </when>
- <otherwise>
- and fat.`status`=0
- </otherwise>
- </choose>
- ORDER BY fat.id DESC
- LIMIT 1
- </select>
- <!-- 取得不放行任务对应的审批人、审批意见、审批时间 -->
- <select id="getFaNoGoTaskAapproval" resultType="com.factory.web.entity.fa.res.FaNoGoTaskAapprovalRes">
- SELECT faat.approval_user_id,
- IFNULL(uu.username,'系统自动审批') AS approval_person,
- faat.reason,
- faat.updated_time AS approval_time
- FROM first_article_task fat
- join first_article_approval_task faat on fat.id = faat.first_article_task_id
- left join us_user uu on faat.approval_user_id = uu.id
- WHERE fat.`status` = 3
- <!-- AND faat.approval_level = 2 -->
- AND faat.`status` = 2
- AND fat.id = #{req.firstArticleTaskId}
- order by faat.approval_level desc
- limit 1
- </select>
- <!-- 取得首件、200件、中断每天的点检记录 -->
- <!--
- <select id="getFaItemResultList" resultType="com.factory.web.entity.fa.FirstArticleItemResult">
- SELECT fair.sno,
- fair.result,
- fair.val,
- fair.val_desc,
- fair.prefix,
- fair.tool_desc
- FROM first_article_item_result fair,
- first_article_task fat,
- first_article_calendar fac
- WHERE fair.first_article_task_id = fat.id
- AND fat.first_article_calendar_id = fac.id
- AND fair.first_article_item_id = #{req.firstArticleItemId}
- AND DATE_FORMAT(fat.task_time, '%Y-%m-%d') = #{req.checkDate}
- AND fac.type_flag = #{req.typeFlag}
- </select>
- -->
- <select id="getFaItemResultList" resultType="com.factory.web.entity.fa.FirstArticleItemResult">
- SELECT fair.sno,
- fair.result,
- fair.val,
- fair.val_desc,
- fair.prefix,
- fair.tool_desc,
- fair.abnormal,
- fair.order_number
- FROM first_article_item_result fair,
- first_article_task fat,
- first_article_item fai
- WHERE fair.first_article_task_id = fat.id
- AND fair.first_article_item_id = fai.id
- AND fair.first_article_item_id = #{req.firstArticleItemId}
- AND DATE_FORMAT(fat.task_time, '%Y-%m-%d') = #{req.checkDate}
- AND fat.type_flag = #{req.typeFlag}
- <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>
- and ((DATE_FORMAT(now(), '%w') = 1 and fai.prefix = 'W') or fai.prefix != 'W')
- </select>
- <!-- 取得计划下的点检项目数 -->
- <select id="getFaItemCount" resultType="int">
- SELECT COUNT(fai.id)
- FROM first_article_item fai,
- first_article_workshop faw
- WHERE fai.workshop_id = faw.id
- AND faw.benteler_plan_id = #{req.bentelerPlanId}
- </select>
- <!-- 取得计划下当前task的点检结果数 -->
- <select id="getFaItemResultCount" resultType="int">
- SELECT COUNT(fair.id)
- FROM first_article_item_result fair,
- first_article_item fai,
- first_article_workshop faw
- WHERE fair.first_article_item_id = fai.id
- AND fai.workshop_id = faw.id
- AND faw.benteler_plan_id = #{req.bentelerPlanId}
- AND fair.first_article_task_id = #{req.firstArticleTaskId}
- </select>
- <!-- 取得工作站下的点检项目数 -->
- <select id="getFaWsItemCount" resultType="int">
- SELECT COUNT(fai.id)
- FROM first_article_item fai
- WHERE fai.workshop_id = #{req.workshopId}
- </select>
- <!-- 取得工作站下当前task的点检结果数 -->
- <select id="getFaWsItemResultCount" resultType="int">
- SELECT COUNT(fair.id)
- FROM first_article_item_result fair,
- first_article_item fai
- WHERE fair.first_article_item_id = fai.id
- AND fai.workshop_id = #{req.workshopId}
- AND fair.first_article_task_id = #{req.firstArticleTaskId}
- </select>
- <!--取得用户列表 -->
- <select id="getUserList" resultType="com.factory.web.entity.fa.res.UserListRes">
- SELECT DISTINCT
- uu.id,
- uu.username,
- uu.`name`
- FROM us_user uu,
- us_user_role uur
- WHERE uu.id = uur.user_id
- AND uu.`lock` = 0
- AND uu.del_flag = 0
- <if test="req.roleIds != null and req.roleIds.size()>0">
- AND uur.role_id in
- <foreach collection="req.roleIds" item="roleId" open="(" close=")" separator=",">
- #{roleId}
- </foreach>
- </if>
- </select>
- <!-- 判断当前检查项目是否是放行 -->
- <select id="getFaItemReleaseCount" resultType="int">
- SELECT COUNT(*)
- FROM first_article_item_result fair,
- first_article_task fat
- WHERE fair.first_article_task_id = fat.id
- AND fat.`status` = 2
- AND fair.result = 1
- AND fair.first_article_item_id = #{req.firstArticleItemId}
- AND DATE_FORMAT(fat.task_time, '%Y-%m-%d') = #{req.checkDate}
- </select>
- <!-- 获取放行记录 FirstArticleApprovalTask-->
- <select id="getFaItemRelease" resultType="com.factory.web.entity.fa.FirstArticleApprovalTask">
- select approval.*,
- result.result,
- uu.username as approvalUserName
- from first_article_item_result result,
- first_article_task task,
- first_article_approval_task approval,
- us_user uu
- where result.first_article_item_id = #{req.firstArticleItemId}
- and result.first_article_task_id = task.id
- and approval.first_article_task_id = task.id
- and DATE_FORMAT(task.task_time, '%Y-%m-%d') = #{req.checkDate}
- and uu.id = approval.approval_user_id
- group by approval.id,task.id
- order by approval.created_time desc
- </select>
- <!--取得点检人 -->
- <!--
- <select id="getFaCalendarList" resultType="com.factory.web.entity.fa.res.FaCalendarRes">
- SELECT DISTINCT fac.type_flag,
- fat.task_time,
- uu.username AS check_person
- FROM first_article_task fat,
- first_article_calendar fac,
- us_user uu
- WHERE fat.first_article_calendar_id = fac.id
- AND fac.user_id = uu.id
- AND fat.task_time = #{req.checkDate}
- </select>
- -->
- <select id="getFaCalendarList" resultType="com.factory.web.entity.fa.res.FaCalendarRes">
- select fat.type_flag as type_flag,
- (
- select uu2.username
- from us_user uu2
- where uu2.id = fat.submit_user_id) check_person,
- fat.submit_time taskTime
- from first_article_task fat,
- first_article_calendar fac
- where fac.benteler_plan_id = #{req.bentelerPlanId}
- and fat.first_article_calendar_id = fac.id
- and fat.task_time = #{req.checkDate}
- group by fat.type_flag
- </select>
- <!-- 取得重检项目下(result_bak = 1),未完成重检(result = -1)的item_result数量,如果重检了result会变成0或1 -->
- <select id="getFaRepeatItemResultCount" resultType="int">
- SELECT COUNT(fair.id)
- FROM first_article_item_result fair,
- first_article_item fai
- WHERE fair.first_article_item_id = fai.id
- AND fair.result_bak = 1
- AND fair.result = -1
- AND fai.workshop_id = #{req.workshopId}
- AND fair.first_article_task_id = #{req.firstArticleTaskId}
- </select>
-
-
- <!--取得Pad端中断任务列表 -->
- <select id="getFaBreakTaskForPad" resultType="com.factory.web.entity.fa.res.FaTaskResForPad">
- SELECT
- DISTINCT fat.id firstArticleTaskId,
- fac.id firstArticleCalendarId,
- fat.`status`,
- fat.task_time taskTime,
- fat.type_flag typeFlag
- FROM
- benteler_plan bp
- join onsite_approval_plan oap on bp.id = oap.benteler_plan_id AND oap.approval_level = 2 AND oap.`status` = 1
- join first_article_calendar fac on bp.id = fac.benteler_plan_id
- join first_article_task fat on fac.id = fat.first_article_calendar_id and TO_DAYS(fat.task_time) = TO_DAYS(NOW())
- where bp.`status` = 4 and bp.id = #{req.bentelerPlanId}
- <if test="req.typeFlag !=null">
- AND fat.type_flag = #{req.typeFlag}
- </if>
- <if test="req.status !=null">
- AND fat.`status` = #{req.status}
- </if>
- order by fat.id desc
- </select>
- </mapper>
|