xg
“linengliang”
2024-03-15 6a3591c42a84b36d24d75f4584f0eeb145bb4de7
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;
    }
    /**
     * 导入
@@ -1551,10 +1600,10 @@
         List<RepairOrderActualWorkHours> hoursList = repairOrderActualWorkHoursService.list(new QueryWrapper<RepairOrderActualWorkHours>().eq("repair_order_id",id).eq("del_flag",0));
       List<RepairOrderActualWorkHours> mainStuff = repairOrderActualWorkHoursService.list(new QueryWrapper<RepairOrderActualWorkHours>().eq("repair_order_id",id).eq("del_flag",0).eq("principal_contractor","1"));
       if(hoursList.size()<2){
          return Result.error("操作失败,请至少添加两个承修人");
          return Result.error("操作失败,请至少添加两个承修人,并且设置一个主承修人");
       }
       if(mainStuff.size()!=1){
          return Result.error("操作失败,请添加主承修人,有且只有一个");
          return Result.error("操作失败,请设置主承修人,有且只有一个");
       }
       if(StringUtils.isNotBlank(repairOrder.getProjectMaintenanceOrderId())){
          //判断项目性维修子表状态