110001安庆巡检_工艺巡检

安庆巡检_工艺巡检

  • 一. 工艺配置
  • 二. 点检计划
  • 三. 点检任务
  • 四. 复检任务
    • 1. 复检列表
      • 1.1 页面展示
    • 2. 复检任务下发
      • 2.1 操作说明
      • 2.2 业务说明
      • 2.3 表关联说明
        • ps_recheck_task工艺工序参数_复检详情表
    • 3. 复检详情
      • 2.1 获取参数点检详情
      • 2.2 获取复检详情列表
    • 4. app端复检任务提交
      • 4.1 请求
      • 4.2 业务说明
  • -------------------------------------------------------------------------------------------------------------------------------

一. 工艺配置

二. 点检计划

三. 点检任务

四. 复检任务

1. 复检列表

1.1 页面展示

在这里插入图片描述

2. 复检任务下发

2.1 操作说明

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

在这里插入图片描述

注意事项
1.下发按钮在任务复检已下发或者任务异常审核后变灰不可点击,复检已下发在复检人完成复检后解除灰色限制
2.下发的截止时间说明,超过截止时间后只会在告警通知生成逾期提醒,没有其他业务限制

在这里插入图片描述

2.2 业务说明

请求url

请求网址:
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
}
    /**
     * 工艺点检下发
     */
    @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));
    }
    /**
     * 下发任务
     *
     * @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;
    }
   <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 表关联说明

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 获取参数点检详情

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

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

2.2 获取复检详情列表

请求网址:
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 请求

请求网址:
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 业务说明

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/872588.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTML的块级元素与行内元素

在HTML中&#xff0c;元素可以分为两大类&#xff1a;块级元素&#xff08;block-level elements&#xff09;和行内元素&#xff08;inline elements&#xff09;。这两种类型的元素在网页布局和呈现中扮演着不同的角色。 块级元素&#xff08;Block-level Elements&#xff…

免费申请aws一年免费服务器使用教程

由于近期要测试一个公网项目&#xff0c;对比之下&#xff0c;选择了aws服务器&#xff0c;免费使用一年。 准备&#xff1a;一个visa信用卡即可&#xff0c;需要一个外网邮箱&#xff08;我这边使用的hotmail&#xff09; 注册的步骤不再赘述&#xff0c;切记几个点&#xff0…

智 能 合 约

1. 智能合约的历史 智能合约最初是由 Nick Szabo 在 20 世纪 90 年代后期的一篇名为 Formalizing and Securing Relationships on Public Networks(《公共网络上关系的格式化和安全保护》&#xff09;的文章中提出的&#xff0c;但是 20 年之后&#xff0c;比特币的发明和区块链…

Qt QGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小_图片查看

QtQGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小 头文件&#xff1a; #ifndef TIMGWIDGET_H #define TIMGWIDGET_H#include <QGraphicsItem> #include <QMainWindow> #include <QObject> #include <QWidget>// class TImgWidget : pu…

【重构获得模式 Refactoring to Patterns】

重构获得模式 Refactoring to Patterns 面向对象设计模式是“好的面向对象设计”&#xff0c;所谓“好的面向对象设计”指的是那些可以满足“应对变化&#xff0c;提高复用”的设计。 现代软件设计的特征是“需求的频繁变化”。设计模式的要点是“寻找变化点&#xff0c;然后…

Opencv中的直方图(1)计算反向投影直方图函数calcBackProject()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 计算直方图的反向投影。 cv::calcBackProject 函数计算直方图的反向投影。也就是说&#xff0c;类似于 calcHist&#xff0c;在每个位置 (x, y)…

12道经典性能测试人员面试题

1.性能测试包含了哪些软件测试&#xff08;至少举出3种&#xff09;&#xff1f; 参考答案&#xff1a;负载测试、压力测试、容量测试。 负载测试&#xff08;Load Testing&#xff09;&#xff1a;负载测试是一种主要为了测试软件系统是否达到需求文档设计的目标&#xff0c…

Spring MVC 八股文

目录 重点 SpringMVC的工作原理 Spring MVC 拦截器 Spring MVC 的拦截器和 Filter 过滤器有什么差别&#xff1f; 基础 什么是SpringMVC SpringMVC的优点 Spring MVC的核心组件 Spring MVC的常用注解由有哪些 Controller 注解有什么用 重点 SpringMVC的工作原理 1、客…

【舍入,取整,取小数,取余数丨Excel 函数】

数学函数 1、Round函数 Roundup函数 Rounddown函数 取整&#xff1a;(Int /Trunc)其他舍入函数&#xff1a; 2、Mod函数用Mod函数提取小数用Mod函数 分奇偶通过身份证号码判断性别 1、Round函数 Roundup函数 Rounddown函数 Round(数字&#xff0c;保留几位小数)&#xff08;四…

Word快速重复上一步操作的三种高效方法

在日常工作、学习和生活中&#xff0c;我们经常需要执行一系列重复性的操作。这些操作可能简单如复制粘贴、调整图片大小&#xff0c;也可能复杂如编辑文档、处理数据等。为了提高效率&#xff0c;掌握快速重复上一步操作的方法显得尤为重要。本文将介绍三种高效的方法&#xf…

Carla自动驾驶仿真十:Carlaviz三维可视化平台搭建

文章目录 前言一、环境准备1、docker安装2、websocket-client安装3、carlaviz代码下载 二、carlaviz使用1、打开carla客户端2、输入启动命令3、进入carlaviz4、修改manual_control.py脚本5、运行manual_control.py脚本6、运行carlaviz官方脚本&#xff08;推荐&#xff09; 前言…

【2024最新】Python入门教程(非常详细)从零基础入门到精通,看完这一篇就够了!

前言 本文罗列了了python零基础入门到精通的详细教程&#xff0c;内容均以知识目录的形式展开。 第一章&#xff1a;python基础之markdown Typora软件下载Typora基本使用Typora补充说明编程与编程语言计算机的本质计算机五大组成部分计算机三大核心硬件操作系统 第二章&…

【计算机网络】浏览器输入访问某网址时,后台流程是什么

在访问网址时&#xff0c;后台的具体流程可以因不同的网站、服务器和应用架构而异。 实际过程中可能还涉及更多的细节和步骤&#xff0c;如缓存处理、重定向、负载均衡等。 此外&#xff0c;不同的网站和应用架构可能会有不同的实现方式和优化策略。 部分特定网站或应用&#x…

RK3588开发板利用udp发送和接收数据

目录 1 send.cpp 2 receive.cpp 3 编译运行 4 测试 1 send.cpp #include <iostream> #include <string> #include <cstring> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> //…

利用数据质量工具提高业务效率 | 数据治理应用篇

您的数据库是否井然有序&#xff1f; 在当今社会&#xff0c;企业管理者们愈发开始重视数据的重要性。数据不仅能推动战略决策&#xff0c;还能影响业务成果、推动创新&#xff0c;并为企业提供竞争优势。然而&#xff0c;随着数据量的增加&#xff0c;确保数据的准确性、一致…

【C++ 面试 - 新特性】每日 3 题(三)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

使用pytorch深度学习框架搭建神经网络

简介 现在主流有两个框架pytorch和TensorFlow,本文主要介绍pytorch PyTorch&#xff1a;由 Facebook 的人工智能研究小组开发和维护。PyTorch 以其动态计算图&#xff08;Dynamic Computational Graph&#xff09;和易用性著称&#xff0c;非常适合研究人员和开发者进行实验和…

小皮面板webman ai项目本地启动教程

1.前置条件 下载小皮面板 下载后&#xff0c;双击安装&#xff0c;一路next&#xff08;下一步&#xff09;&#xff0c;无需更改配置。 2.安装必须软件 在小皮面板的软件管理页&#xff0c;安装编号①②③④下面四个软件。 3.启动本地服务 进入到小皮面板的首页&#x…

深入学习电路基础:从理论到实践

引言 电路是电子学的核心&#xff0c;也是现代科技的基石。从简单的灯泡开关到复杂的计算机处理器&#xff0c;电路在各类电子设备中都起到了至关重要的作用。深入学习电路知识不仅有助于理解电子设备的工作原理&#xff0c;还能够为实际设计和开发电子产品打下坚实的基础。 …