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));
    }

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

相关推荐
茶馆大橘7 小时前
微服务系列五:避免雪崩问题的限流、隔离、熔断措施
java·jmeter·spring cloud·微服务·云原生·架构·sentinel
coding侠客8 小时前
揭秘!微服务架构下,Apollo 配置中心凭啥扮演关键角色?
微服务·云原生·架构
lexusv8ls600h9 小时前
微服务设计模式 - 网关路由模式(Gateway Routing Pattern)
spring boot·微服务·设计模式
码农爱java13 小时前
Kafka 之消息并发消费
spring boot·微服务·kafka·mq·消息中间件·并发消费
Flamesky13 小时前
dotnet core微服务框架Jimu ~ 会员注册微服务
微服务·services·micro
为美好的生活献上中指15 小时前
Java学习Day60:微服务总结!(有经处无火,无火处无经)
java·spring boot·spring cloud·微服务·sentinel·jetty
猫猫不是喵喵.15 小时前
【微服务】Docker 容器化
java·docker·微服务
诗这样的18 小时前
【需求变更】使用 Redis 和 Lua 脚本实现变更后方案编号的生成
java·redis·缓存·微服务·lua·需求分析
白总Server1 天前
OpenHarmony
后端·spring cloud·华为·微服务·ribbon·架构·系统架构