“linengliang”
2023-11-18 7eef12f6ffa0a76abb3a6dfecda9460144655e3a
维修工单
已修改7个文件
287 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_11_16(lnl)/sys_dict_update.sql 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
@@ -1501,7 +1502,7 @@
     public Result<?> orderStart(@RequestBody RepairOrder repairOrder){
         if(StringUtils.isNotBlank(repairOrder.getReportRepairId())){
            EquipmentReportRepair equipmentReportRepair = equipmentReportRepairService.getById(repairOrder.getReportRepairId());
            equipmentReportRepair.setStatus("3");
            equipmentReportRepair.setStatus("2");
            equipmentReportRepairService.updateById(equipmentReportRepair);
            if(StringUtils.isNotBlank(equipmentReportRepair.getEquipmentId())){
                Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId());
@@ -1528,7 +1529,12 @@
            projectMaintenanceOrder.setTypeStatus("underExecution");
            projectMaintenanceOrderService.updateById(projectMaintenanceOrder);
        }
         return Result.OK(repairOrderService.update(new UpdateWrapper<RepairOrder>().set("status",3).set("actual_start_time",new Date(System.currentTimeMillis())).eq("id",repairOrder.getId())));
          repairOrder
                 .setStatus("3")
                 .setActualStartTime(new Date())
                 .setRepairOrderUda1("normal");
          repairOrderService.updateById(repairOrder);
         return Result.OK("开工成功");
     }
     /**
      * 工单报工
@@ -1536,6 +1542,7 @@
      * @return
      */
     @PutMapping(value = "/report")
     @Transactional(rollbackFor = {Exception.class})
     public Result<?> orderReport(@RequestBody RepairOrder repairOrder){
         if(StringUtils.isNotBlank(repairOrder.getProjectMaintenanceOrderId())){
             //判断项目性维修子表状态
@@ -1567,9 +1574,19 @@
         }
         LoginUser user= (LoginUser)SecurityUtils.getSubject().getPrincipal();
         if(StringUtils.isNotBlank(repairOrder.getReportRepairId())){
             equipmentReportRepairService.update(new UpdateWrapper<EquipmentReportRepair>().eq("id",repairOrder.getReportRepairId()).set("status",3));
             equipmentReportRepairService.update(new UpdateWrapper<EquipmentReportRepair>().eq("id",repairOrder.getReportRepairId()).set("status",4));
         }
         return Result.OK(repairOrderService.update(new UpdateWrapper<RepairOrder>().set("status",4).set("actual_end_time",new Date(System.currentTimeMillis())).set("recipient_user_id",user.getId()).eq("id",repairOrder.getId())));
         Date now = new Date();
         Date start = repairOrder.getActualStartTime();
         long timeDifference = now.getTime() - start.getTime();
         BigDecimal hours = new BigDecimal(timeDifference)
                 .divide(new BigDecimal(60 * 60 * 1000), 3, BigDecimal.ROUND_HALF_EVEN);
         repairOrder.setStatus("4");
         repairOrder.setActualEndTime(now);
         repairOrder.setActualHour(hours);
         repairOrder.setRecipientUserId(user.getId());
         repairOrderService.updateById(repairOrder);
         return Result.OK("报工成功");
     }
     /**
      * 工单撤销
@@ -1619,4 +1636,68 @@
         equipmentReportRepairService.updateBatchById(equipmentReportRepairs);
         return Result.OK("领取成功");
     }
     /**
      * 工单等备件
      * @param repairOrder
      * @return
      */
     @PutMapping(value = "/handleSpare")
     @Transactional(rollbackFor = {Exception.class})
     public Result<?> handleSpare(@RequestBody RepairOrder repairOrder){
        repairOrder.setRepairOrderUda2(new Date());
        repairOrder.setRepairOrderUda1("needSpare");
        repairOrderService.updateById(repairOrder);
        return Result.OK("操作成功");
     }
     /**
      * 工单停止等备件
      * @param repairOrder
      * @return
      */
     @PutMapping(value = "/handleSpareStop")
     @Transactional(rollbackFor = {Exception.class})
     public Result<?> handleSpareStop(@RequestBody RepairOrder repairOrder){
          Date now = new Date();
          Date start = repairOrder.getRepairOrderUda2();
         long timeDifference = now.getTime() - start.getTime();
         BigDecimal hours = new BigDecimal(timeDifference)
                 .divide(new BigDecimal(60 * 60 * 1000), 3, BigDecimal.ROUND_HALF_EVEN);
         repairOrder.setRepairOrderUda3(now);
         repairOrder.setRepairOrderUda1("normal");
         repairOrder.setSpareTime(hours);
         repairOrderService.updateById(repairOrder);
         return Result.OK("操作成功");
     }
     /**
      * 工单等加工件
      * @param repairOrder
      * @return
      */
     @PutMapping(value = "/handlePart")
     @Transactional(rollbackFor = {Exception.class})
     public Result<?> handlePart(@RequestBody RepairOrder repairOrder){
         repairOrder.setRepairOrderUda4(new Date());
         repairOrder.setRepairOrderUda1("needPart");
         repairOrderService.updateById(repairOrder);
         return Result.OK("操作成功");
     }
     /**
      * 工单停止等加工件
      * @param repairOrder
      * @return
      */
     @PutMapping(value = "/handlePartStop")
     @Transactional(rollbackFor = {Exception.class})
     public Result<?> handlePartStop(@RequestBody RepairOrder repairOrder){
         Date now = new Date();
         Date start = repairOrder.getRepairOrderUda4();
         long timeDifference = now.getTime() - start.getTime();
         BigDecimal hours = new BigDecimal(timeDifference)
                 .divide(new BigDecimal(60 * 60 * 1000), 3, BigDecimal.ROUND_HALF_EVEN);
         repairOrder.setRepairOrderUda5(now);
         repairOrder.setRepairOrderUda1("normal");
         repairOrder.setPartTime(hours);
         repairOrderService.updateById(repairOrder);
         return Result.OK("操作成功");
     }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java
@@ -177,6 +177,7 @@
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;
    private Double faultHour;
    /**
     * 附件上传列表
     */
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java
@@ -145,8 +145,8 @@
    private BigDecimal workingHourQuota;
    /**工单执行状态(数据字典:repair_order_status)*/
    @Excel(name = "工单执行状态(数据字典:repair_order_status)", width = 15)
    @ApiModelProperty(value = "工单执行状态(数据字典:repair_order_status)")
    @Dict(dicCode = "repair_order_status")
    @ApiModelProperty(value = "工单执行状态(数据字典:true_repair_status)")
    @Dict(dicCode = "true_repair_status")
    private String status;
    /**维保方式*/
    @Excel(name = "维保方式", width = 15)
@@ -156,23 +156,32 @@
    /**备用字段1*/
    @Excel(name = "备用字段1", width = 15)
    @ApiModelProperty(value = "备用字段1")
    @Dict(dicCode = "repair_status")
    private String repairOrderUda1;
    /**备用字段2*/
    @Excel(name = "备用字段2", width = 15)
    @ApiModelProperty(value = "备用字段2")
    private String repairOrderUda2;
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date repairOrderUda2;
    /**备用字段3*/
    @Excel(name = "备用字段3", width = 15)
    @ApiModelProperty(value = "备用字段3")
    private String repairOrderUda3;
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date repairOrderUda3;
    /**备用字段4*/
    @Excel(name = "备用字段4", width = 15)
    @ApiModelProperty(value = "备用字段4")
    private String repairOrderUda4;
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date repairOrderUda4;
    /**备用字段5*/
    @Excel(name = "备用字段5", width = 15)
    @ApiModelProperty(value = "备用字段5")
    private String repairOrderUda5;
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date repairOrderUda5;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
@@ -247,6 +256,11 @@
    @Dict(dicCode = "repair_order_business_type")
    private String businessType;
    private BigDecimal spareTime;
    private BigDecimal partTime;
    @TableField(exist = false)
    private String equipmentNum;
@@ -287,6 +301,17 @@
    private String userId;
    @TableField(exist = false)
    private String nums;
    @TableField(exist = false)
    private String errUda2;
    @TableField(exist = false)
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date acceptTime;
    @TableField(exist = false)
    private String errUda3;
    @TableField(exist = false)
    private BigDecimal faultHour;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java
@@ -26,6 +26,7 @@
     * @return
     */
    List<RepairOrder> getRepairOrderList(Page<RepairOrder> page,
                                            @Param("id")String id,
                                            @Param("num") String num,
                                            @Param("equipmentNum") String equipmentNum,
                                            @Param("equipmentName")  String equipmentName,
@@ -35,7 +36,8 @@
                                         @Param("factoryModelId")    String  factoryModelId,
                                         @Param("specificEquipment")     String     specificEquipment,
                                         @Param("teamId")   String teamId,
                                         @Param("equipNums") List<String> equipNums
                                         @Param("equipNums") List<String> equipNums,
                                         @Param("repairOrderUda1") String repairOrderUda1
    );
    IPage<Map<String, Object>> getUserTeam(IPage<Map> pageData, @Param("realname") String realname);
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml
@@ -11,10 +11,6 @@
        t1.recipient_user_id recipientUserId,
        t1.report_repair_id reportRepairId,
        t1.project_maintenance_order_id projectMaintenanceOrderId,
        t2.num equipmentNum,
        t2.name equipmentName,
        t2.model equipmentModel,
        t2.specific_equipment specificEquipment,
        t1.fault_reason faultReason,
        t1.fault_phenomenon faultPhenomenon,
        t1.preventive_measure preventiveMeasure,
@@ -39,17 +35,36 @@
        t1.responsibility_id responsibilityId,
        t1.outsourcing_unit outsourcingUnit,
        t1.remark,
        t1.repair_order_uda1 repairOrderUda1,
        t1.repair_order_uda2 repairOrderUda2,
        t1.repair_order_uda3 repairOrderUda3,
        t1.repair_order_uda4 repairOrderUda4,
        t1.repair_order_uda5 repairOrderUda5,
        t1.spare_time spareTime,
        t1.part_time partTime,
        report.err_uda2 errUda2,
        report.accept_time acceptTime,
        report.err_uda3 errUda3,
        report.fault_hour faultHour,
        t2.num equipmentNum,
        t2.name equipmentName,
        t2.model equipmentModel,
        t2.specific_equipment specificEquipment,
        t3.depart_name departName,
        t4.name outsourcingUnitName,
        t5.realname responsibilityName,
        t6.name teamName
        from mom_eam_repair_order t1
        left join(select * from mom_eam_equipment_report_repair where del_flag = 0 ) report on report.id = t1.report_repair_id
        left join(select * from mom_eam_equipment where del_flag = 0 and status = 1) t2 on t1.equipment_id= t2.id
        left join sys_depart t3 on t3.id = t1.depart_id
        left join mom_base_supplier t4 on t1.outsourcing_unit = t4.id
        left join sys_user t5 on t5.id = t1.responsibility_id
        left join mom_base_team t6 on t6.id=t1.team_id
        where t1.del_flag = 0
        <if test="id != null and id != ''">
            and t1.id = #{id}
        </if>
        <if test="num != null and num != ''">
            and t1.num like concat('%',#{num},'%')
        </if>
@@ -68,6 +83,9 @@
        <if test="status != null and status != ''">
            and t1.status = #{status}
        </if>
        <if test="repairOrderUda1 != null and repairOrderUda1 != ''">
            and t1.repair_order_uda1 = #{repairOrderUda1}
        </if>
        <if test="equipmentCategoryId != null and equipmentCategoryId != ''">
            and t2.equipment_category_id = #{equipmentCategoryId}
        </if>
@@ -80,7 +98,9 @@
        <if test="teamId != null and teamId != ''">
            and t1.team_id = #{teamId}
        </if>
        <if test="repairOrderType != null and repairOrderType != ''">
        and t1.repair_order_type = #{repairOrderType}
        </if>
        order by t1.create_time desc
    </select>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
@@ -88,7 +88,7 @@
        if(StringUtils.isNotBlank(repairOrder.getNums())){
            equipNums = Arrays.asList(repairOrder.getNums().trim().split(","));
        }
        return page.setRecords(baseMapper.getRepairOrderList(page,repairOrder.getNum(),repairOrder.getEquipmentNum(),repairOrder.getEquipmentName(),repairOrder.getStatus(),repairOrder.getRepairOrderType(),repairOrder.getEquipmentCategoryId(),repairOrder.getFactoryModelId(),repairOrder.getSpecificEquipment(),repairOrder.getTeamId(),equipNums));
        return page.setRecords(baseMapper.getRepairOrderList(page,repairOrder.getId(),repairOrder.getNum(),repairOrder.getEquipmentNum(),repairOrder.getEquipmentName(),repairOrder.getStatus(),repairOrder.getRepairOrderType(),repairOrder.getEquipmentCategoryId(),repairOrder.getFactoryModelId(),repairOrder.getSpecificEquipment(),repairOrder.getTeamId(),equipNums,repairOrder.getRepairOrderUda1()));
    }
    @Override
lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_11_16(lnl)/sys_dict_update.sql
@@ -30,5 +30,129 @@
    'TABLE', N'mom_eam_equipment_report_repair',
    'COLUMN', N'finish_time'
INSERT INTO [dbo].[sys_quartz_job] ([id], [create_by], [create_time], [del_flag], [update_by], [update_time], [job_class_name], [cron_expression], [parameter], [description], [status], [job_name]) VALUES (N'1301802672317695720', N'admin', '2023-11-16 18:38:01.0000000', 0, N'admin', '2023-11-16 18:38:11.0000000', N'org.jeecg.modules.eam.job/EquipmentWarrantyEndDateAlertJob', N'0 0 1 * * ? *', NULL, N'故障报修验收', 0, N'维修完成12小时后验收');
INSERT INTO [dbo].[sys_quartz_job] ([id], [create_by], [create_time], [del_flag], [update_by], [update_time], [job_class_name], [cron_expression], [parameter], [description], [status], [job_name]) VALUES (N'1301802672317695720', N'admin', '2023-11-16 18:38:01.0000000', 0, N'admin', '2023-11-16 18:38:11.0000000', N'org.jeecg.modules.eam.job.EquipmentWarrantyEndDateAlertJob', N'0 0 1 * * ? *', NULL, N'故障报修验收', 0, N'维修完成12小时后验收');
INSERT INTO [dbo].[sys_dict] ([id], [dict_name], [dict_code], [description], [del_flag], [create_by], [create_time], [update_by], [update_time], [type]) VALUES (N'1725333574041309186', N'维修工单状态', N'true_repair_status', '', 0, N'admin', '2023-11-17 10:02:33.8500000', NULL, NULL, NULL);
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1725334295704866818', N'1725333574041309186', N'未派工', N'2', '', 1, 1, N'admin', '2023-11-17 10:05:25.9110000', NULL, NULL);
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1725334447886798850', N'1725333574041309186', N'维修', N'3', '', 2, 1, N'admin', '2023-11-17 10:06:02.1960000', NULL, NULL);
INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1725334568024248321', N'1725333574041309186', N'完成', N'4', '', 4, 1, N'admin', '2023-11-17 10:06:30.8390000', NULL, NULL);
ALTER TABLE [dbo].[mom_eam_repair_order] DROP CONSTRAINT [DF__mom_eam_r__repai__7822EBA0]
    GO
ALTER TABLE [dbo].[mom_eam_repair_order] DROP CONSTRAINT [DF__mom_eam_r__repai__79170FD9]
    GO
ALTER TABLE [dbo].[mom_eam_repair_order] DROP CONSTRAINT [DF__mom_eam_r__repai__7A0B3412]
    GO
ALTER TABLE [dbo].[mom_eam_repair_order] DROP CONSTRAINT [DF__mom_eam_r__repai__7AFF584B]
    GO
ALTER TABLE [dbo].[mom_eam_repair_order] ALTER COLUMN [repair_order_uda2] datetime2 NULL
    GO
ALTER TABLE [dbo].[mom_eam_repair_order] ALTER COLUMN [repair_order_uda3] datetime2 NULL
    GO
ALTER TABLE [dbo].[mom_eam_repair_order] ALTER COLUMN [repair_order_uda4] datetime2 NULL
    GO
ALTER TABLE [dbo].[mom_eam_repair_order] ALTER COLUMN [repair_order_uda5] datetime2 NULL
    GO
    IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda2')) > 0)
    EXEC sp_updateextendedproperty
    'MS_Description', N'等待备件开始时间',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda2'
    ELSE
    EXEC sp_addextendedproperty
    'MS_Description', N'等待备件开始时间',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda2'
    GO
    IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda3')) > 0)
    EXEC sp_updateextendedproperty
    'MS_Description', N'等待备件结束时间',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda3'
    ELSE
    EXEC sp_addextendedproperty
    'MS_Description', N'等待备件结束时间',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda3'
    GO
    IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda4')) > 0)
    EXEC sp_updateextendedproperty
    'MS_Description', N'等待加工件开始时间',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda4'
    ELSE
    EXEC sp_addextendedproperty
    'MS_Description', N'等待加工件开始时间',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda4'
    GO
    IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda5')) > 0)
    EXEC sp_updateextendedproperty
    'MS_Description', N'等待加工件结束时间',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda5'
    ELSE
    EXEC sp_addextendedproperty
    'MS_Description', N'等待加工件结束时间',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'repair_order_uda5'
ALTER TABLE [dbo].[mom_eam_repair_order] ADD [spare_time] decimal NULL
    GO
ALTER TABLE [dbo].[mom_eam_repair_order] ADD [part_time] decimal NULL
    GO
    EXEC sp_addextendedproperty
    'MS_Description', N'等待备件总时长',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'spare_time'
    GO
    EXEC sp_addextendedproperty
    'MS_Description', N'等待加工件总时长',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_repair_order',
    'COLUMN', N'part_time'
ALTER TABLE [dbo].[mom_eam_equipment_report_repair] ADD [fault_hour] decimal NULL
    GO
    EXEC sp_addextendedproperty
    'MS_Description', N'停机时长',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_equipment_report_repair',
    'COLUMN', N'fault_hour'