110001安庆巡检_工艺巡检

安庆巡检_工艺巡检

一. 工艺配置

二. 点检计划

三. 点检任务

四. 复检任务

1. 复检列表

1.1 页面展示

2. 复检任务下发

2.1 操作说明

在异常管理页面操作栏中,可点击下发按钮弹出下发弹窗,选择复检人以及截止时间,确定后生成对应的复检任务

注意事项

1.下发按钮在任务复检已下发或者任务异常审核后变灰不可点击,复检已下发在复检人完成复检后解除灰色限制

2.下发的截止时间说明,超过截止时间后只会在告警通知生成逾期提醒,没有其他业务限制

2.2 业务说明

请求url

java 复制代码
请求网址:
http://60.167.89.69:20186/prod-api/check/taskabnormal/recheckTask
请求方法:
POST

请求参数:
{
//ps_task_parameter点检任务参数表的id,该表记录了该参数点检值
  "id": "38c9dbe0-20ab-4eff-b6fb-392a989c6f00",
  "taskCode": "DJRW24082925990262",
  "processId": "87e7eb15f98a4b09b9ca20be0636583b",
  "parameterId": "048f2f8a-8bee-41c9-9a34-4ba42b590277",
  "checkResult": "120",
  "checkConclusion": 0,
  "handleStatus": 0,
  "status": 0,
  "recordTime": "2024-08-29 14:33:26",
  "recorder": "deng",
  "processName": "半成品焊接",
  "parameterName": "焊接参数",
  "techId": "39e89ebe6fd74b8fbdaeae799404d0ce",
  "techName": "焊接",//
  //点检人nick的Name
  "recorderName": "邓志雄",
  //复检人的userName
  "executor": "yuhai",
  "contentDesc": "点检",
  //复检任务截止时间,注意这是美国时间,有八小时差
  "dueDate": "2024-09-06T00:59:48.000Z",
  "type": 0
}
java 复制代码
    /**
     * 工艺点检下发
     */
    @ApiOperation("工艺点检异任务下发")
    @RequiresPermissions("check:taskabnormal:send")
    @Log(title = "工艺点检下发", businessType = BusinessType.UPDATE)
    @PostMapping("/recheckTask")
    public AjaxResult recheckTaskAbnormal(@RequestBody Map<String, Object> map) {
        return toAjax(taskAbnormalService.recheckTaskAbnormal(map));
    }
java 复制代码
    /**
     * 下发任务
     *
     * @param map 工艺点检异常项
     * @return 结果
     */
    @Override
    @Transactional
    public int recheckTaskAbnormal(Map<String, Object> map) {
        /**
         * 1.获取基本信息
         */
        //获取复检人userName
        String executor = (String) map.get("executor");
        //获取工艺参数点检详情的id
        String taskParameterId = (String) map.get("id");
        //获取复检截止时间
        Date dueDate = DateUtils.dealDateFormat(map.get("dueDate"));

        /**
         * 2.判断该工艺参数点检是否已有下发的复检任务
         *
         */
        Integer taskAbnormals = taskAbnormalMapper.selectCountById(taskParameterId);
        if (taskAbnormals > 0) {
            throw new BaseException("无法重复下发");
        }
        /**
         * 3. 构建复检任务
         */
        //复检任务对象
        RecheckTask recheckTask = new RecheckTask();
        recheckTask.setId(UUID.randomUUID().toString());
        recheckTask.setStatus(1);//0.待下发,未进行;1.已下发,进行中;2复检跳过;3复检完成
        recheckTask.setStartDate(DateUtils.getNowDate());
        recheckTask.setDueDate(dueDate);
        recheckTask.setCreateBy(SecurityUtils.getUsername());
        recheckTask.setTaskParameterId(taskParameterId);//关联工艺工序参数的点检详情id
        recheckTask.setExecutor(executor);//复检人

        //增加检测点、参数和任务编码
        TaskAbnormal abnormal = taskAbnormalMapper.selectTaskAbnormalById(taskParameterId);
        recheckTask.setTaskCode(abnormal.getTaskCode());//关联点检任务taskCode
        recheckTask.setProcessId(abnormal.getProcessId());//关联 ps_process 工艺工序_详情表的id
        recheckTask.setParameterId(abnormal.getParameterId());//关联 ps_parameter 工艺工序参数_详情表的id
        recheckTaskMapper.insertRecheckTask(recheckTask);
        /**
         * 4.复检任务逾期提醒
         */
        quartzService.recheckStartJob(recheckTask, SecurityConstants.INNER);
        /**
         * 5.下发消息
         */
        MessagePush messagePush = new MessagePush();
        messagePush.setPushUser(SecurityUtils.getUsername());
        messagePush.setHandleUser(executor);
        String content = "复检任务:" + abnormal.getProcessName() + "。截止时间:" + map.get("dueDate");
        messagePush.setContent(content);
        messagePush.setType("3");
        messagePush.setTitle("复检任务");
        messagePushService.insertMessagePush(messagePush);
        return 1;
    }
xml 复制代码
   <select id="selectCountById" resultType="java.lang.Integer">
        select count(1)  from ps_recheck_task prt
        left join ps_task_parameter ptp on prt.task_parameter_id = ptp.id
        where  prt.status=1 and ptp.id=#{id};
    </select>

    <select id="selectTaskAbnormalById" parameterType="String" resultMap="TaskAbnormalResult">
        select a1.id,
               a1.task_code,
               a1.process_id,
               a1.parameter_id,
               a1.check_result,
               a1.check_certificate,
               a1.check_conclusion,
               a1.remark,
               a1.handle_status,
               a1.handle_info,
               a1.handler,
               a1.handle_date,
               a1.record_time,
               a1.recorder,
               a2.name       processName,
               a3.name       parameterName,
               a3.standard_value,
               a4.name       techName,
               u1.nick_name  handlerName,
               u2.nick_name  recorderName,
               a3.check_type checkType,
               pct.type      type
        from ps_task_parameter a1 -- 工艺参数点检详情
                 left join ps_process a2 on a1.process_id = a2.id
                 left join ps_parameter a3 on a1.parameter_id = a3.id
                 left join ps_tech a4 on a3.tech_id = a4.id
                 left join sys_user u1 on a1.handler = u1.user_name
                 left join sys_user u2 on a1.recorder = u2.user_name
                 left join ps_check_task pct on a1.task_code = pct.task_code
        where a1.id = #{id}
    </select>

    <insert id="insertRecheckTask" parameterType="com.cjxjy.system.api.pojo.domain.RecheckTask">
        insert into ps_recheck_task
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="taskCode != null">task_code,</if>
            <if test="executor != null">executor,</if>
            <if test="status != null">status,</if>
            <if test="startDate != null">start_date,</if>
            <if test="endDate != null">end_date,</if>
            <if test="dueDate != null">due_date,</if>
            <if test="createBy != null">create_by,</if>
            <if test="taskParameterId != null">task_parameter_id,</if>
            <if test="parameterId != null">parameter_id,</if>
            <if test="processId != null">process_id,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="taskCode != null">#{taskCode},</if>
            <if test="executor != null">#{executor},</if>
            <if test="status != null">#{status},</if>
            <if test="startDate != null">#{startDate},</if>
            <if test="endDate != null">#{endDate},</if>
            <if test="dueDate != null">#{dueDate},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="taskParameterId != null">#{taskParameterId},</if>
            <if test="parameterId != null">#{parameterId},</if>
            <if test="processId != null">#{processId},</if>
        </trim>
    </insert>

2.3 表关联说明

sql 复制代码
ps_task_parameter a1 -- 工艺工序参数_点检详情表
  left join ps_process a2 --工艺工序参数_详情表
  	on a1.process_id = a2.id
  left join ps_parameter a3  -- 工艺工序_详情表
  	on a1.parameter_id = a3.id
  left join ps_tech a4 -- 工艺_详情表
  	on a3.tech_id = a4.id
  left join ps_check_task pct --工艺点检表
  	on a1.task_code = pct.task_code

ps_task_parameter工艺工序参数_点检详情表

ps_process工艺工序_详情表

ps_parameter工艺工序参数_详情表

ps_tech工艺_详情表

ps_check_task工艺点检任务表

ps_recheck_task工艺工序参数_复检详情表

3. 复检详情

2.1 获取参数点检详情

java 复制代码
请求网址:
http://10.168.2.118:8095/prod-api/check/taskabnormal/ce0f7367-2dd9-4580-b093-a5866fecf4fa
请求方法:
GET

参数说明:ps_task_parameter工艺工序参数点检表的id

2.2 获取复检详情列表

java 复制代码
请求网址:
http://10.168.2.118:8095/prod-api/check/recheckParameter/recheck?id=a3ae1534-57b7-4763-b80d-6bfb4c1f9f6a
请求方法:
GET

参数说明
id为ps_task_parameter点检任务参数表的id

4. app端复检任务提交

4.1 请求

java 复制代码
请求网址:
http://60.167.89.69:20051/check/recheckParameter
请求方法:
POST

请求参数
{
//ps_task_parameter点检参数表id
  "taskParameterId": "13e3f229-aced-4270-b8b2-a957a89700aa",
  //ps_recheck_task复检任务表id
  "retaskId": "582642b9-6487-4d7f-b81b-d8b091aae9d1",
  //复检任务状态,设置为3:已完成
  "status": 3,
  //点检参数录入值
  "checkResult": "0.9",
  //点检图片
  "checkCertificate": "http://10.168.0.210:20003/jiuyuan-dongnan/recheck/2024/09/05/4ac3cc377d354b20b47e2bdf20e1ceb6.webp"
}

4.2 业务说明

java 复制代码
    /**
     * 新增复检结果
     */
    @ApiOperation("新增复检结果")
    @RequiresPermissions("check:taskabnormal:add")
    @Log(title = "复检结果", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@Validated @RequestBody RetaskParameter retaskParameter) {
        return toAjax(retaskParameterService.insertRetaskParameter(retaskParameter));
    }

-------------------------------------------------------------------------------------------------------------------------------

相关推荐
蝎子莱莱爱打怪4 天前
XZLL-IM干货系列 04|Netty 长连接实战:Pipeline 怎么排、心跳怎么跳、连接怎么管
后端·微服务·面试
SamDeepThinking5 天前
Java微服务练习方式
java·后端·微服务
米丘8 天前
微前端之 Web Components 完全指南
微服务·html
霸道流氓气质10 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
霸道流氓气质11 天前
Spring Boot 微服务性能优化完全指南
spring boot·微服务·性能优化
地瓜伯伯11 天前
从MESI缓存一致性协议讲透synchronized的底层
java·spring boot·spring·spring cloud·微服务·springcloud
Devin~Y11 天前
大厂 Java 面试实录:从音视频内容社区到 AI RAG 的全链路技术设计
java·spring boot·redis·spring cloud·微服务·kafka·音视频
递归尽头是星辰11 天前
AI 访问数据仓库:从直连到微服务化
数据仓库·人工智能·微服务·dataagent·ai数据治理
就改了11 天前
Windows 环境 SkyWalking 完整实操教程
windows·微服务·skywalking
至乐活着12 天前
Docker Compose多服务编排实战:从零搭建Node.js+MySQL+Redis全栈应用
docker·微服务·devops·容器编排·compose