110001安庆巡检_工艺巡检

news/2024/9/17 3:09:43/ 标签: 微服务, 点检

安庆巡检_工艺巡检

  • 一. 工艺配置
  • 二. 点检计划
  • 三. 点检任务
  • 四. 复检任务
    • 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@Transactionalpublic int recheckTaskAbnormal(Map<String, Object> map) {/*** 1.获取基本信息*///获取复检人userNameString executor = (String) map.get("executor");//获取工艺参数点检详情的idString 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);//关联工艺工序参数的点检详情idrecheckTask.setExecutor(executor);//复检人//增加检测点、参数和任务编码TaskAbnormal abnormal = taskAbnormalMapper.selectTaskAbnormalById(taskParameterId);recheckTask.setTaskCode(abnormal.getTaskCode());//关联点检任务taskCoderecheckTask.setProcessId(abnormal.getProcessId());//关联 ps_process 工艺工序_详情表的idrecheckTask.setParameterId(abnormal.getParameterId());//关联 ps_parameter 工艺工序参数_详情表的idrecheckTaskMapper.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 prtleft join ps_task_parameter ptp on prt.task_parameter_id = ptp.idwhere  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      typefrom ps_task_parameter a1 -- 工艺参数点检详情left join ps_process a2 on a1.process_id = a2.idleft join ps_parameter a3 on a1.parameter_id = a3.idleft join ps_tech a4 on a3.tech_id = a4.idleft join sys_user u1 on a1.handler = u1.user_nameleft join sys_user u2 on a1.recorder = u2.user_nameleft join ps_check_task pct on a1.task_code = pct.task_codewhere 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.idleft join ps_parameter a3  -- 工艺工序_详情表on a1.parameter_id = a3.idleft join ps_tech a4 -- 工艺_详情表on a3.tech_id = a4.idleft 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)@PostMappingpublic AjaxResult add(@Validated @RequestBody RetaskParameter retaskParameter) {return toAjax(retaskParameterService.insertRetaskParameter(retaskParameter));}

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


http://www.ppmy.cn/news/1521993.html

相关文章

FastAPI 中间件与依赖注入:打造灵活的 API 架构

在 FastAPI 中&#xff0c;Depends 是一个非常重要的概念&#xff0c;它用于依赖注入。依赖注入是一种设计模式&#xff0c;允许你将组件&#xff08;如函数、类或服务&#xff09;之间的依赖关系明确地表达出来&#xff0c;而不是硬编码在组件内部。这使得代码更加模块化、可测…

SpringCloud集成ELK

1、添加依赖 <dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>6.1</version> </dependency>2、在logback-spring.xml中添加配置信息&#xff08;logback-sp…

SpringMVC使用:类型转换数据格式化数据验证

01-类型转换器 先在pom.xml里面导入依赖&#xff0c;一个是mvc框架的依赖&#xff0c;一个是junit依赖 然后在web.xml里面导入以下配置&#xff08;配置的详细说明和用法我在前面文章中有写到&#xff09; 创建此测试类的方法用于测试springmvc是具备自动类型转换功能的 user属…

数学建模_缺失值处理_拉格朗日、牛顿插值(全)

- 缺失值处理 1. 识别缺失值 在处理缺失值之前&#xff0c;首先需要识别数据中的缺失值。 1.1 使用 isna() 和 isnull() Pandas 提供了 isna() 和 isnull() 方法来检测缺失值&#xff0c;二者功能相同。 import pandas as pddf pd.DataFrame({A: [1, 2, None, 4],B: [None, 2,…

数据仓库: 6- 数据仓库分层

目录 6- 数据仓库分层6.1 简介6.1.1 数据仓库分层的优势6.1.2 常见的数据仓库分层模型6.1.2.1 四层模型6.1.2.2 三层模型 6.1.3 数据仓库分层原则6.1.4 数据仓库分层示例6.1.5 总结 6.2 ODS&#xff08;操作数据存储&#xff09;层6.2.1 ODS 层的主要功能6.2.2 ODS 层的特点6.2…

PHP批量修改MySQL数据表字符集为utf8mb4/utf8mb4_unicode_ci

编码大全 可参考我之前的文章&#xff1a; 快速理解ASCII、GBK、Unicode、UTF-8、ANSI 批量修改 注意这是DDL操作&#xff0c;操作过程会锁表&#xff08;元数据锁&#xff09;&#xff0c;平均1秒能够转码3张表&#xff08;数据量不大&#xff09;。 亲测操作过后没有数据异…

内网隧道:端口转发

目录 LCX端口转发 场景一 场景二 SSH的端口转发 一、本地转发&#xff08;正向访问A&#xff09;&#xff1a; 二、远程转发&#xff08;反向访问A&#xff09; 三.NETSH端口转发 端口转发和端口映射 端口转发,有时被称为做隧道,是安全壳( SSH)为网络安全通信使用的一种方…

[物理专题]经典浮力题目的Fh图像绘制

这段代码用于绘制物体在液体中受到的浮力变化的图像&#xff0c;它有多个好处&#xff1a; 直观展示数据&#xff1a;通过图形化展示&#xff0c;可以直观地看到物体在液体中浸入深度与受到的浮力之间的关系。 教育和学习工具&#xff1a;这种类型的图像常用于教育目的&#x…

tugraph在Ubuntu 20.04上安装

参考文档&#xff1a; https://tugraph-db.readthedocs.io/zh-cn/latest/5.installation%26running/7.tugraph-running.html 介质下载&#xff1a; Releases TuGraph-family/tugraph-db GitHub 安装记录&#xff1a; rootnode11:~# ll total 466780 drwx------ 8 root r…

Unity(2022.3.41LTS) - UI详细介绍- Toggle(切换)

目录 零.简介 一、基本功能 二、属性和设置 三、使用方法 四、优化和注意事项 零.简介 在 Unity 中&#xff0c;Toggle 是一种常用的 UI 组件&#xff0c;用于表示一个布尔值的状态&#xff0c;类似于复选框。 一、基本功能 状态切换&#xff1a;Toggle 有两种状态&…

Java重修笔记 第四十八天 TreeSet 类、TreeMap 类

TreeSet 类 1. TreeSet 底层是 TreeMap 2. 使用默认构造器创建的 TreeSet 对象&#xff0c;添加顺序和取出顺序不是有序的 3. 如果添加的是字符串或数字&#xff0c;它们默认会按照字母顺序或数值顺序进行排序 4. 可以在构造器中传入一个 Comparator 比较器来手动制定比较…

【最新整理】大佬都在用的10款3DMax建筑插件!

在3Dmax建筑领域中&#xff0c;有许多受欢迎的插件能够大大提升设计师的工作效率和创作质量。以下是10款被广泛应用且备受推崇的3Dmax建筑插件&#xff1a; 1.Building&#xff08;建筑设计插件&#xff09; 3DMAX参数化建筑建模插件Building&#xff0c;一键生成各种自定义参…

机器人外呼有哪些优势?

机器人外呼&#xff0c;作为一种结合了计算机技术和人工智能技术的自动化工具&#xff0c;具有多重显著优势。以下是其主要优势的详细阐述&#xff1a; ### 1. 高效性 * **大幅提升工作效率**&#xff1a;机器人外呼可以全天候、不间断地进行工作&#xff0c;不受时间、地点和…

Fréchet Inception Distance(FID)原理

原理概述&#xff1a; FID 的核心思想是通过比较真实图像和生成图像在 Inception 模型特征空间中的分布差异&#xff0c;来评估生成模型的性能。它假设从真实数据和生成数据中提取的特征都近似服从高斯分布。 具体步骤&#xff1a; 特征提取&#xff1a;使用预训练的 Incepti…

ansible--yaml

语法 #列表 fruits:-Apple-Orange-banada########################################### fruits顶格写&#xff0c;下面的参数空两个空格&#xff0c;必须得对齐 #字典martin: name: Mysqlenvironoment: dd################################ 第一行的冒号号有空格&#xff0c;…

【网络安全】CSRF漏洞—CSRF基础漏洞防御

CSRF&#xff08;Cross-Site Request Forgery&#xff0c;跨站请求伪造&#xff09;是一种常见的网络安全攻击手段&#xff0c;它利用用户已经认证的身份&#xff0c;通过第三方网站诱导用户点击链接或提交表单&#xff0c;从而在用户不知情的情况下&#xff0c;以用户的名义执…

redis分布式锁和lua脚本

业务场景&#xff1a;多个线程对共同资源的访问&#xff1a;库存超卖/用户重复下单的原因 解决方法一&#xff1a;利用jvm内置锁&#xff0c;将非原子性操作变成原子性操作 Synchronized锁的是对象&#xff0c;对象必须是单例的。锁的是this,代表当前所在的类&#xff0c;这个…

06_React ajax

React ajax 一、理解1、前置说明2、常用的 ajax 请求库浏览器插件推荐 二、axios1、跨域实际上是请求发出了&#xff0c;但是没有接收到数据。使用代理服务器进行解决2、React 脚手架配置代理2.1 前端项目在 package.json 中的文件添加配置&#xff0c;可以解决跨域2.2 方式二2…

工厂模式与策略模式(golang示例)

一、工厂模式简介 工厂模式是一种创建型设计模式&#xff0c;主要用于封装对象的创建过程。通过使用工厂模式&#xff0c;客户端代码无需直接实例化对象&#xff0c;而是通过工厂类来创建对象。这样可以将对象的创建与使用分离&#xff0c;从而提高代码的灵活性。 1.1 工厂模…

004: VTK读入数据---vtkImageData详细说明

VTK医学图像处理---vtkImageData类 目录 VTK医学图像处理---vtkImageData类 简介&#xff1a; 1 Mricro软件的安装和使用 (1) Mricro安装 (2) Mricro转换DICOM为裸数据 2 从硬盘读取数据到vtkImageData 3 vtkImageData转RGB或RGBA格式 4 练习 总结 简介&#xff1a;…