“linengliang”
2024-01-12 78c398d94f7bb4295ba3723d6919e4337ed2d243
维修履历导出
已修改5个文件
184 ■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java
@@ -19,14 +19,19 @@
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.mapper.RepairOrderMapper;
import org.jeecg.modules.eam.service.*;
import org.jeecg.modules.eam.vo.EquipmentAvailabilityVo;
import org.jeecg.modules.eam.vo.RepairReportExportVo;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.mapper.SysUserMapper;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -99,6 +104,12 @@
     @Autowired
     @Lazy
     private IdentityService sysIdentityService;
     @Autowired
     private RepairOrderMapper repairOrderMapper;
     @Autowired
     private SysUserMapper sysUserMapper;
     @Value("${jeecg.path.upload}")
     private String upLoadPath;
@@ -321,15 +332,53 @@
        return Result.OK("批量删除成功!");
    }
    /**
     * 导出
     * @return
     */
    //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_repair_order:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, RepairOrder repairOrder) {
        return super.exportXls(request, repairOrder, RepairOrder.class, "维修工单");
    }
     @RequestMapping(value = "/exportXls")
     public ModelAndView exportXls(HttpServletRequest request, RepairOrder repairOrder) {
         // Step.1 组装查询条件
         String title = "维修履历";
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         // Step.2 获取导出数据
         if(StringUtils.isNotBlank(repairOrder.getUserId())){
             SysUser user = sysUserMapper.selectById(repairOrder.getUserId());
             repairOrder.setTeamId(user.getTeamId());
         }else{
             repairOrder.setTeamId("");
         }
         List<String> equipNums = new ArrayList<>();
         if(StringUtils.isNotBlank(repairOrder.getNums())){
             equipNums = Arrays.asList(repairOrder.getNums().trim().split("\n")).stream().filter(num->!num.equals("\n")).collect(Collectors.toList());
         }
         List<RepairOrder> exportList = repairOrderMapper.getRepairOrderList(null,repairOrder.getId(),
                 repairOrder.getNum(),
                 repairOrder.getEquipmentNum(),
                 repairOrder.getEquipmentName(),
                 repairOrder.getStatus(),
                 repairOrder.getRepairOrderType(),
                 repairOrder.getEquipmentCategoryId(),
                 repairOrder.getFactoryModelId(),
                 repairOrder.getSpecificEquipment(),
                 repairOrder.getTeamId(),
                 equipNums,
                 repairOrder.getRepairOrderUda1(),
                 repairOrder.getFaultStartTime(),
                 repairOrder.getFaultEndTime(),
                 repairOrder.getCreateStartTime(),
                 repairOrder.getCreateEndTime(),
                 repairOrder.getEquipmentImportanceId());
         // Step.3 AutoPoi 导出Excel
         ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
         //此处设置的filename无效 ,前端会重更新设置一下
         mv.addObject(NormalExcelConstants.FILE_NAME, title);
         mv.addObject(NormalExcelConstants.CLASS, RepairOrder.class);
         //update-begin--Author:liusq  Date:20210126 for:图片导出报错,ImageBasePath未设置--------------------
         ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title);
         exportParams.setImageBasePath(upLoadPath);
         //update-end--Author:liusq  Date:20210126 for:图片导出报错,ImageBasePath未设置----------------------
         mv.addObject(NormalExcelConstants.PARAMS,exportParams);
         mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
         return mv;
     }
    /**
     * 导入
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java
@@ -38,31 +38,28 @@
    @ApiModelProperty(value = "主键ID")
    private String id;
    /**维修订单号*/
    @Excel(name = "维修订单号", width = 15)
    @Excel(name = "维修订单号", width = 15,orderNum = "5")
    @ApiModelProperty(value = "维修订单号")
    private String num;
    /**设备台账ID*/
    @Excel(name = "设备台账ID", width = 15)
    @ApiModelProperty(value = "设备台账ID")
    private String equipmentId;
    /**故障报修单ID*/
    @Excel(name = "故障报修单ID", width = 15)
    @ApiModelProperty(value = "故障报修单ID")
    @Dict(dicCode = "id",dictTable ="mom_eam_equipment_report_repair",dicText = "num")
    private String reportRepairId;
    /**项目性维修单ID*/
    @Excel(name = "项目性维修单ID", width = 15)
    @ApiModelProperty(value = "项目性维修单ID")
    @Dict(dicCode = "id",dictTable ="mom_eam_project_maintenance_order",dicText = "num")
    private String projectMaintenanceOrderId;
    /**班组ID*/
    @Excel(name = "班组ID", width = 15)
    @Excel(name = "维修班组", width = 15,dicCode = "id",dictTable ="mom_base_team",dicText = "name",orderNum = "10")
    @ApiModelProperty(value = "班组ID")
    @Dict(dicCode = "id",dictTable ="mom_base_team",dicText = "name")
    private String teamId;
    /**使用部门ID*/
    @Excel(name = "使用部门ID", width = 15)
    @Excel(name = "使用部门", width = 15,dicCode = "id",dictTable ="sys_depart",dicText = "depart_name",orderNum ="9" )
    @ApiModelProperty(value = "使用部门ID")
    @Dict(dicCode = "id",dictTable ="sys_depart",dicText = "depart_name")
    private String departId;
@@ -87,97 +84,83 @@
    @ApiModelProperty(value = "预防措施")
    private String preventiveMeasure;
    /**故障描述*/
    @Excel(name = "故障描述", width = 15)
    @Excel(name = "故障描述", width = 15,orderNum = "16")
    @ApiModelProperty(value = "故障描述")
    private String faultDescription;
    /**故障时间*/
    @Excel(name = "故障时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "故障时间", width = 20, format = "yyyy-MM-dd HH:mm:ss",orderNum = "13")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "故障时间")
    private Date faultTime;
    /**故障照片*/
    @Excel(name = "故障照片", width = 15)
    @ApiModelProperty(value = "故障照片")
    private String photo;
    /**是否停机*/
    @Excel(name = "是否停机", width = 15)
    @ApiModelProperty(value = "是否停机")
    @Dict(dicCode = "is_stop")
    private String isStop;
    /**计划开始时间*/
    @Excel(name = "计划开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "计划开始时间")
    private Date planStartTime;
    /**计划结束时间*/
    @Excel(name = "计划结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "计划结束时间")
    private Date planEndTime;
    /**实际开始时间*/
    @Excel(name = "实际开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际开始时间")
    private Date actualStartTime;
    /**实际结束时间*/
    @Excel(name = "实际结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际结束时间")
    private Date actualEndTime;
    /**领取人ID*/
    @Excel(name = "领取人", width = 15)
    @ApiModelProperty(value = "领取人ID")
    @Dict(dicCode = "id",dictTable ="sys_user",dicText = "username")
    private String recipientUserId;
    /**报修人ID*/
    @Excel(name = "报修人", width = 15)
    @ApiModelProperty(value = "报修人ID")
    @Dict(dicCode = "id",dictTable ="sys_user",dicText = "username")
    private String reportUserId;
    /**工时定额*/
    @Excel(name = "工时定额", width = 15)
    @ApiModelProperty(value = "工时定额")
    private BigDecimal workingHourQuota;
    /**工单执行状态(数据字典:repair_order_status)*/
    @Excel(name = "工单执行状态(数据字典:repair_order_status)", width = 15)
    @ApiModelProperty(value = "工单执行状态(数据字典:true_repair_status)")
    @Dict(dicCode = "true_repair_status")
    @Excel(name = "状态", width = 15,orderNum = "3",dicCode = "true_repair_status")
    private String status;
    /**维保方式*/
    @Excel(name = "维保方式", width = 15)
    @ApiModelProperty(value = "维保方式")
    @Dict(dicCode = "maintenance_method")
    private String maintenanceMethod;
    /**备用字段1*/
    @Excel(name = "备用字段1", width = 15)
    @Excel(name = "维修状态", width = 15,orderNum = "4",dicCode = "repair_status" )
    @ApiModelProperty(value = "备用字段1")
    @Dict(dicCode = "repair_status")
    private String repairOrderUda1;
    /**备用字段2*/
    @Excel(name = "备用字段2", width = 15)
    @ApiModelProperty(value = "备用字段2")
    @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")
    @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")
    @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")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@@ -189,6 +172,7 @@
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    @Excel(name = "工单创建时间", width = 15,orderNum = "8",databaseFormat = "yyyy-MM-dd HH:mm:ss",exportFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**修改人*/
    @ApiModelProperty(value = "修改人")
@@ -199,59 +183,48 @@
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    /**删除状态(0-正常,1-已删除)*/
    @Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
    @Dict(dicCode = "del_flag")
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**维修工单类型(数据字典:repair_order_type,0:正常维修工单,1:修后汇报工单)*/
    @Excel(name = "维修工单类型", width = 15)
    @ApiModelProperty(value = "维修工单类型")
    @Dict(dicCode = "repair_order_type")
    private Integer repairOrderType;
    /**租户ID*/
    @Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**企业ID*/
    @Excel(name = "企业ID", width = 15)
    @ApiModelProperty(value = "企业ID")
    private String enterpriseId;
    /**企业ID*/
    @Excel(name = "责任人ID", width = 15)
    @Dict(dicCode = "id",dictTable ="sys_user",dicText = "realname")
    @ApiModelProperty(value = "责任人ID")
    private String responsibilityId;
    /*委外单位*/
    @Excel(name = "委外单位", width = 15)
    @ApiModelProperty(value = "委外单位")
    private String outsourcingUnit;
    /*实际工时*/
    @Excel(name = "实际工时", width = 15)
    @ApiModelProperty(value = "实际工时")
    private BigDecimal actualHour;
    /**紧急程度*/
    @Excel(name = "紧急程度", width = 15)
    @ApiModelProperty(value = "紧急程度")
    @Dict(dicCode = "urgency")
    private String urgency;
    /**派工方式*/
    @Excel(name = "派工方式", width = 15)
    @ApiModelProperty(value = "派工方式")
    @Dict(dicCode = "dispatch_method")
    private String dispatchMethod;
    /**业务类型*/
    @Excel(name = "业务类型", width = 15)
    @ApiModelProperty(value = "业务类型")
    @Dict(dicCode = "repair_order_business_type")
    private String businessType;
@@ -262,12 +235,15 @@
    @TableField(exist = false)
    @Excel(name = "统一编码", width = 15,orderNum = "6")
    private String equipmentNum;
    @TableField(exist = false)
    @Excel(name = "设备名称", width = 15,orderNum = "7")
    private String equipmentName;
    @TableField(exist = false)
    @Excel(name = "设备型号", width = 15,orderNum = "8")
    private String equipmentModel;
    @TableField(exist = false)
    private String reportRepairNum;
@@ -284,6 +260,7 @@
    @TableField(exist = false)
    @Dict(dicCode = "specific_equipment")
    @Excel(name = "关键设备标识", width = 15,orderNum = "0",dicCode = "specific_equipment")
    private String specificEquipment;
    @TableField(exist = false)
    List<RepairOrderFaultAnalysis> faultAnalysis;
@@ -302,6 +279,7 @@
    @TableField(exist = false)
    private String nums;
    @TableField(exist = false)
    @Excel(name = "报修人", width = 15,orderNum = "14")
    private String errUda2;
    @TableField(exist = false)
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@@ -311,7 +289,25 @@
    private String errUda3;
    @TableField(exist = false)
    private BigDecimal faultHour;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private Date faultStartTime;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private Date faultEndTime;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private Date createStartTime;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private Date createEndTime;
    @TableField(exist = false)
    @Excel(name = "ABC标识", width = 15,orderNum = "1")
    private String equipmentImportanceId;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java
@@ -6,6 +6,7 @@
import org.jeecg.modules.eam.entity.RepairOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -37,7 +38,14 @@
                                         @Param("specificEquipment")     String     specificEquipment,
                                         @Param("teamId")   String teamId,
                                         @Param("equipNums") List<String> equipNums,
                                         @Param("repairOrderUda1") String repairOrderUda1
                                         @Param("repairOrderUda1") String repairOrderUda1,
                                         @Param("faultStartTime") Date faultStartTime,
                                         @Param("faultEndTime")Date faultEndTime,
                                         @Param("createStartTime")Date createStartTime,
                                         @Param("createEndTime")Date createEndTime,
                                         @Param("equipmentImportanceId")String equipmentImportanceId
    );
    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
@@ -16,7 +16,6 @@
        t1.preventive_measure preventiveMeasure,
        t1.fault_remove faultRemove,
        t1.fault_description faultDescription,
        t1.fault_time faultTime,
        t1.photo photo,
        t1.is_stop isStop,
        t1.maintenance_method maintenanceMethod,
@@ -47,10 +46,12 @@
        report.accept_time acceptTime,
        report.err_uda3 errUda3,
        report.fault_hour faultHour,
        report.fault_time faultTime,
        t2.num equipmentNum,
        t2.name equipmentName,
        t2.model equipmentModel,
        t2.specific_equipment specificEquipment,
        t2.equipment_importance_id equipmentImportanceId,
        t3.depart_name departName,
        t4.name outsourcingUnitName,
        t5.realname responsibilityName,
@@ -96,11 +97,26 @@
        <if test="specificEquipment != null and specificEquipment != ''">
            and t2.specific_equipment = #{specificEquipment}
        </if>
        <if test="equipmentImportanceId != null and  equipmentImportanceId != ''">
            and t2. equipment_importance_id = #{equipmentImportanceId}
        </if>
        <if test="teamId != null and teamId != ''">
            and t1.team_id = #{teamId}
        </if>
        <if test="repairOrderType != null and repairOrderType != ''">
        and t1.repair_order_type = #{repairOrderType}
            and t1.repair_order_type = #{repairOrderType}
        </if>
        <if test="faultStartTime != null">
            and report.fault_time &gt;= #{faultStartTime}
        </if>
        <if test="faultEndTime != null">
            and report.fault_time &lt;= #{faultEndTime}
        </if>
        <if test="createStartTime != null">
            and t1.create_time &gt;= #{createStartTime}
        </if>
        <if test="createEndTime != null">
            and t1.create_time &lt;= #{createEndTime}
        </if>
        order by t1.create_time desc
    </select>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
@@ -105,7 +105,24 @@
        if(StringUtils.isNotBlank(repairOrder.getNums())){
            equipNums = Arrays.asList(repairOrder.getNums().trim().split("\n")).stream().filter(num->!num.equals("\n")).collect(Collectors.toList());
        }
        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()));
        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(),
                repairOrder.getFaultStartTime(),
                repairOrder.getFaultEndTime(),
                repairOrder.getCreateStartTime(),
                repairOrder.getCreateEndTime(),
                repairOrder.getEquipmentImportanceId()));
    }
    @Override