package org.jeecg.modules.eam.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; 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.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.dto.message.MessageDTO; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.entity.SysUpload; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.model.DepartVo; import org.jeecg.modules.eam.service.*; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; import java.util.Map; @RestController @RequestMapping("/eam/predictiveworkplan") @Slf4j public class PredictiveWorkPlanController extends JeecgController { @Autowired private IPredictiveWorkPlanService predictiveWorkPlanService; /** * 预测性维护方案 列表 */ @GetMapping(value = "/pagePredictiveWorkPlan") public Result>> pagePredictiveWorkPlan(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map params) { IPage> maintenanceStandardList = predictiveWorkPlanService.pagePredictiveWorkPlan(pageNo, pageSize, params); return Result.OK(maintenanceStandardList); } /** * 添加 */ @AutoLog(value = "predictive_work_plan-添加") @ApiOperation(value = "predictive_work_plan-添加", notes = "predictive_work_plan-添加") @PostMapping(value = "/add") @Transactional(rollbackFor = {Exception.class}) public Result add(@RequestBody PredictiveWorkPlan predictiveWorkPlan) { predictiveWorkPlanService.save(predictiveWorkPlan); return Result.OK("添加成功!"); } /** * 编辑 */ @AutoLog(value = "predictive_work_plan-编辑") @ApiOperation(value = "predictive_work_plan-编辑", notes = "predictive_work_plan-编辑") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) @Transactional(rollbackFor = {Exception.class}) public Result edit(@RequestBody PredictiveWorkPlan predictiveWorkPlan) { predictiveWorkPlanService.updateById(predictiveWorkPlan); return Result.OK("编辑成功!"); } // /** // * 通过id删除 // * // * @param id // * @return // */ // @AutoLog(value = "mom_eam_equipment-通过id删除") // @ApiOperation(value="mom_eam_equipment-通过id删除", notes="mom_eam_equipment-通过id删除") // //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment:delete") // @DeleteMapping(value = "/delete") // public Result delete(@RequestParam(name="id",required=true) String id) { // Equipment equipment = equipmentService.getById(id); // equipment.setDelFlag(1); // equipmentService.updateById(equipment); // return Result.OK("删除成功!"); // } // // /** // * 批量删除 // * // * @param ids // * @return // */ // @AutoLog(value = "mom_eam_equipment-批量删除") // @ApiOperation(value="mom_eam_equipment-批量删除", notes="mom_eam_equipment-批量删除") // //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment:deleteBatch") // @DeleteMapping(value = "/deleteBatch") // public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { // List stringList = Arrays.asList(ids.split(",")); // for (String id : stringList) { // Equipment equipment = equipmentService.getById(id); // equipment.setDelFlag(1); // equipmentService.updateById(equipment); // } //// this.equipmentService.removeByIds(Arrays.asList(ids.split(","))); // return Result.OK("批量删除成功!"); // } // // /** // * 通过id查询 // * // * @param id // * @return // */ // //@AutoLog(value = "mom_eam_equipment-通过id查询") // @ApiOperation(value="mom_eam_equipment-通过id查询", notes="mom_eam_equipment-通过id查询") // @GetMapping(value = "/queryById") // public Result queryById(@RequestParam(name="id",required=true) String id) { // Equipment equipment = equipmentService.getById(id); // if(equipment==null) { // return Result.error("未找到对应数据"); // } // return Result.OK(equipment); // } // // /** // * 导出excel // * // * @param request // * @param equipment // */ // //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment:exportXls") // @RequestMapping(value = "/exportXls") // public ModelAndView exportXls(HttpServletRequest request, Equipment equipment) { // return super.exportXls(request, equipment, Equipment.class, "mom_eam_equipment"); // } // //// /** //// * 通过excel导入数据 //// * //// * @param request //// * @param response //// * @return //// */ //// //@RequiresPermissions("mom_eam_equipment:importExcel") //// @RequestMapping(value = "/importExcel", method = RequestMethod.POST) //// public Result importExcel(HttpServletRequest request, HttpServletResponse response) { //// return super.importExcel(request, response, Equipment.class); //// } // // // /** // * 设备建账 获取组织部门 // * qsw 2023-4-28 // */ // @GetMapping("getSysDeparts") // public Result getSysDeparts() { // List sysDeparts = equipmentService.getSysDeparts(); // return Result.ok(sysDeparts); // } // // // /** // *设备履历 获取设备使用记录 // * qsw 2023-7-28 // */ // @GetMapping(value = "/getResumeUseRecordList") // public Result getResumeUseRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map params) { // IPage> resumeUseRecordList = equipmentService.getResumeUseRecordList(pageNo, pageSize, params); // return Result.ok(resumeUseRecordList); // } // // /** // *设备履历 获取设备点检记录 // * qsw 2023-7-28 // */ // @GetMapping(value = "/getResumeInspectionRecordList") // public Result getResumeInspectionRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map params) { // IPage> resumeInspectionRecordList = equipmentService.getResumeInspectionRecordList(pageNo, pageSize, params); // LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); // for (Map record : resumeInspectionRecordList.getRecords()) { // String id = (String)record.get("id"); // String inspectionType = (String)record.get("inspectionType"); // if("日常点检".equals(inspectionType)){ // List failCount = inspectionOrderDetailService.lambdaQuery() // .eq(InspectionOrderDetail::getInspectionOrderId, id) // .eq(InspectionOrderDetail::getJudgmentResult, "fail") // .eq(InspectionOrderDetail::getDelFlag, 0).list(); // // List passCount = inspectionOrderDetailService.lambdaQuery() // .eq(InspectionOrderDetail::getInspectionOrderId, id) // .eq(InspectionOrderDetail::getJudgmentResult,"pass") // .eq(InspectionOrderDetail::getDelFlag, 0).list(); // record.put("result","正常:"+passCount.size()+","+"异常:"+failCount.size()); // }else{ // List failCount = specialtyInspectionOrderDetailService.lambdaQuery() // .eq(SpecialtyInspectionOrderDetail::getSpecialtyInspectionOrderId, id) // .eq(SpecialtyInspectionOrderDetail::getJudgmentResult,"fail") // .eq(SpecialtyInspectionOrderDetail::getDelFlag, 0).list(); // // List passCount = specialtyInspectionOrderDetailService.lambdaQuery() // .eq(SpecialtyInspectionOrderDetail::getSpecialtyInspectionOrderId, id) // .eq(SpecialtyInspectionOrderDetail::getJudgmentResult,"pass") // .eq(SpecialtyInspectionOrderDetail::getDelFlag, 0).list(); // record.put("result","正常:"+passCount.size()+","+"异常:"+failCount.size()); // } // } // return Result.ok(resumeInspectionRecordList); // } // // /** // *设备履历 获取设备保养记录 // * qsw 2023-7-31 // */ // @GetMapping(value = "/getResumeMaintenanceRecordList") // public Result getResumeMaintenanceRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map params) { // IPage> resumeMaintenanceRecordList = equipmentService.getResumeMaintenanceRecordList(pageNo, pageSize, params); // return Result.ok(resumeMaintenanceRecordList); // } // // /** // *设备履历 获取设备维修记录 // * qsw 2023-7-31 // */ // @GetMapping(value = "/getResumeRepairRecordList") // public Result getResumeRepairRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map params) { // IPage> resumeRepairRecordList = equipmentService.getResumeRepairRecordList(pageNo, pageSize, params); // return Result.ok(resumeRepairRecordList); // } // // /** // *设备履历 获取设备检定记录 // * qsw 2023-7-31 // */ // @GetMapping(value = "/getResumeCalibrationRecordList") // public Result getResumeCalibrationRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map params) { // IPage> resumeCalibrationRecordList = equipmentService.getResumeCalibrationRecordList(pageNo, pageSize, params); // for (Map record : resumeCalibrationRecordList.getRecords()) { // String id = (String)record.get("id"); // String status = (String)record.get("status"); // String managementMode = (String)record.get("managementMode"); // if("4".equals(status)){ // if("data".equals(managementMode)){ // List calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery() // .eq(CalibrationOrderDetail::getCalibrationOrderId, id) // .eq(CalibrationOrderDetail::getJudgmentResult, "fail") // .eq(CalibrationOrderDetail::getDelFlag,"0").list(); // if(calibrationOrderDetails.size()>0){ // record.put("calibrationResult","异常"); // }else{ // record.put("calibrationResult","正常常"); // } // }else{ // List calibrationOrderReports = calibrationOrderReportService.lambdaQuery() // .eq(CalibrationOrderReport::getCalibrationOrderId, id) // .eq(CalibrationOrderReport::getJudgmentResult, "fail") // .eq(CalibrationOrderReport::getDelFlag, "0").list(); // if(calibrationOrderReports.size()>0){ // record.put("calibrationResult","异常"); // }else{ // record.put("calibrationResult","正常常"); // } // } // } // } // return Result.ok(resumeCalibrationRecordList); // } // // /** // *设备履历 获取设备处置记录 // * qsw 2023-7-31 // */ // @GetMapping(value = "/getResumeChangeRecordList") // public Result getResumeChangeRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map params) { // IPage> resumeChangeRecordList = equipmentService.getResumeChangeRecordList(pageNo, pageSize, params); // return Result.ok(resumeChangeRecordList); // } // // /** // * 根据状态查询设备列表 // */ // @GetMapping(value = "/getEquipmentListByStatus") // public Result> getEquipmentList(Equipment equipment,String status, // @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, // @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, // HttpServletRequest req) { // QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap()); // List statusList = Arrays.asList(status.split(",")); // Page page = new Page(pageNo, pageSize); // queryWrapper.in("equipment_status",statusList); // IPage pageList = equipmentService.page(page, queryWrapper); // return Result.OK(pageList); // }/** // * 导入 // * @return // */ // @RequestMapping(value = "/importExcel", method = RequestMethod.POST) // @Transactional(rollbackFor = Exception.class) // public Result importExcel(HttpServletRequest request, HttpServletResponse response) { // MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); // Map fileMap = multipartRequest.getFileMap(); // String exceptionInfo = ""; // int exceptionNum = 0; // for (Map.Entry entity : fileMap.entrySet()) { // MultipartFile file = entity.getValue(); // ImportParams params = new ImportParams(); // params.setNeedSave(true); // try { // List list = ExcelImportUtil.importExcel(file.getInputStream(), EquipmentImportVo.class, params); // for(int i = 0;i().eq("name",equipmentImportVo.getEquipmentCategoryName()),false); // if( // StringUtils.isBlank(equipmentImportVo.getNum()) // || StringUtils.isBlank(equipmentImportVo.getName()) // || StringUtils.isBlank(equipmentImportVo.getUseId()) // || StringUtils.isBlank(equipmentImportVo.getEquipmentUda1()) // || StringUtils.isBlank(equipmentImportVo.getManageId()) // || StringUtils.isBlank(equipmentImportVo.getTeamId()) // || StringUtils.isBlank(equipmentImportVo.getEquipmentImportanceId()) // || StringUtils.isBlank(equipmentImportVo.getEquipmentCategoryName()) // || StringUtils.isBlank(equipmentImportVo.getEquipmentStatus()) // || StringUtils.isBlank(equipmentImportVo.getEquipmentUda3()) // || StringUtils.isBlank(equipmentImportVo.getEquipmentUda5()) // || StringUtils.isBlank(equipmentImportVo.getEquipmentUda2()) // || StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate()) // || StringUtils.isBlank(equipmentImportVo.getProjectApprovalNo()) // || StringUtils.isBlank(equipmentImportVo.getFundSource()) // || StringUtils.isBlank(equipmentImportVo.getAcceptanceCheckDate()) // || StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate()) // || StringUtils.isBlank(equipmentImportVo.getFactoryNo()) // || StringUtils.isBlank(equipmentImportVo.getConstructorId()) // || StringUtils.isBlank(equipmentImportVo.getSourceCountry()) // || StringUtils.isBlank(equipmentImportVo.getModel()) // || StringUtils.isBlank(equipmentImportVo.getSpecification()) // || StringUtils.isBlank(equipmentImportVo.getGpo()) // ){ // exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:数据有未填项,请填写必填项后再导入;"; // exceptionNum++; // }else if(ObjectUtils.isNull(equipmentCategory)) // { // exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:该设备所属类别不存在,请先维护设备类别;"; // exceptionNum++; // } // else{ // Equipment oriEquipment = equipmentService.getOne(new QueryWrapper().eq("num",equipmentImportVo.getNum()),false); // if(ObjectUtils.isNull(oriEquipment)){ // Equipment equipment = new Equipment(); // equipment.setNum(equipmentImportVo.getNum()) // .setName(equipmentImportVo.getName()) // .setUseId(equipmentImportVo.getUseId()) // .setEquipmentUda1(equipmentImportVo.getEquipmentUda1()) // .setManageId(equipmentImportVo.getManageId()) // .setTeamId(equipmentImportVo.getTeamId()) // .setEquipmentImportanceId(equipmentImportVo.getEquipmentImportanceId()) // .setEquipmentCategoryId(equipmentCategory.getId()) // .setSpecificEquipment(equipmentImportVo.getKeyEquipmentIdentification()) // .setSecurityConfiguration(equipmentImportVo.getSecurityConfiguration()) // .setCoolingSystem(equipmentImportVo.getCoolingSystem()) // .setFireExtinguisher(equipmentImportVo.getFireExtinguisher()) // .setFireExtinguisherValidityPeriod(equipmentImportVo.getFireExtinguisherValidityPeriod()) // .setOperatingSystem(equipmentImportVo.getOperatingSystem()) // .setSystem(equipmentImportVo.getSystem()) // .setPort(equipmentImportVo.getPort()) // .setCoordinateNum(equipmentImportVo.getCoordinateNum()) // .setEquipmentStatus(equipmentImportVo.getEquipmentStatus()) // .setEquipmentUda3(equipmentImportVo.getEquipmentUda3()) // .setEquipmentUda4(equipmentImportVo.getEquipmentUda4()) // .setEquipmentUda5(equipmentImportVo.getEquipmentUda5()) // .setLocation(equipmentImportVo.getEquipmentUda2()) // .setLastVerificationDate(equipmentImportVo.getLeaveFactoryDate()) // .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo()) // .setFundSource(equipmentImportVo.getFundSource()) // .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate()) // .setFactoryNumber(equipmentImportVo.getFactoryNo()) // .setConstructorId(equipmentImportVo.getConstructorId()) // .setSourceCountry(equipmentImportVo.getSourceCountry()) // .setModel(equipmentImportVo.getModel()) // .setSpecification(equipmentImportVo.getSpecification()) // .setGpo(equipmentImportVo.getGpo()); // equipmentService.save(equipment); // }else { // exceptionInfo = exceptionInfo+"第"+(i+2)+"行导入失败,原因:统一编码已存在,数据重复导入;"; // exceptionNum++; // } // } // } // if(exceptionNum!=0){ // String headInfo = "小导提醒您!设备台账:导入成功"+(list.size()-exceptionNum)+"条,失败"+exceptionNum+"条"; // MessageDTO messageDTO = new MessageDTO(); // messageDTO.setTitle(headInfo); // messageDTO.setFromUser("数据导入小助手-小导"); // messageDTO.setCategory("导入操作附加信息"); // messageDTO.setContent(exceptionInfo); // messageDTO.setToUser(user.getUsername()); // sysBaseApi.sendSysAnnouncement(messageDTO); // return Result.OK(headInfo+",可在-系统消息-查看导入详情"); // } // return Result.OK("导入成功,已导入全部数据。"); // } catch (Exception e) { // log.error(e.getMessage(), e); // return Result.error("文件导入失败:" + e.getMessage()); // } // } // return Result.error("文件导入失败!"); // } }