From 7a90b194a7d1a213d01c323fd90ef5afbdeb4ea7 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期二, 10 六月 2025 16:21:02 +0800 Subject: [PATCH] 保养修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java | 235 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 229 insertions(+), 6 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java index 252c5aa..dcdbd49 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java @@ -1,5 +1,6 @@ package org.jeecg.modules.eam.controller; +import java.time.LocalDate; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -20,6 +21,8 @@ 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.common.util.DateUtils; +import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.base.entity.Constructor; import org.jeecg.modules.base.service.IConstructorService; import org.jeecg.modules.base.service.IFactoryModelService; @@ -35,11 +38,18 @@ import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.eam.vo.EquipmentExportVo; import org.jeecg.modules.system.entity.SysDepart; +import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysDepartService; +import org.jeecg.modules.system.service.ISysUserService; 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.*; @@ -124,7 +134,11 @@ @Autowired private IMaintenanceStandardService maintenanceStandardService; + @Autowired + private ISysUserService sysUserService; + @Value("${jeecg.path.upload}") + private String upLoadPath; /** @@ -159,6 +173,10 @@ } if(StringUtils.isNotBlank(equipment.getEquipmentCategoryId())){ queryWrapper.eq("equipment_category_id",equipment.getEquipmentCategoryId()); + } + List<String> userWorkCenterIds = getUserWorkCenterIds(); + if(CollectionUtils.isNotEmpty(userWorkCenterIds)) { + queryWrapper.in("work_center_id",userWorkCenterIds); } if(StringUtils.isNotBlank(equipment.getWorkCenterId())){ queryWrapper.eq("work_center_id",equipment.getWorkCenterId()); @@ -292,6 +310,10 @@ HttpServletRequest req) { QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap()); Page<Equipment> page = new Page<Equipment>(pageNo, pageSize); + List<String> userWorkCenterIds = getUserWorkCenterIds(); + if(userWorkCenterIds != null && userWorkCenterIds.size() > 0){ + equipment.setUserWorkCenterIds(userWorkCenterIds); + } IPage<Equipment> pageList = equipmentService.getEquipmentList(page, equipment); return Result.OK(pageList); } @@ -361,6 +383,20 @@ @PostMapping(value = "/add") @Transactional(rollbackFor = { Exception.class }) public Result<String> add(@RequestBody Equipment equipment) { + //涓嬫涓変繚鏃ユ湡澶勭悊 + if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate()); + LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod); + Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get()); + equipment.setNextThirdMaintenanceTime(date); + }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod); + equipment.setNextThirdMaintenanceTime(date); + } equipmentService.save(equipment); //鑾峰彇宸ヨ壓鍙傛暟妯℃澘鏄庣粏 String processParametersTemplateId = equipment.getProcessParametersTemplateId(); @@ -442,6 +478,21 @@ equipmentPrecisionParametersService.save(equipmentPrecisionParameters); } + //涓嬫涓変繚鏃ユ湡澶勭悊 + if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate()); + LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod); + Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get()); + equipment.setNextThirdMaintenanceTime(date); + }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod); + equipment.setNextThirdMaintenanceTime(date); + } + equipmentService.updateById(equipment); List<SysUpload> sysUploads = equipment.getSysUploadList(); @@ -519,6 +570,43 @@ public ModelAndView exportXls(HttpServletRequest request, Equipment equipment) { return super.exportXls(request, equipment, Equipment.class, "璁惧鍙拌处瀵煎嚭"); } + /** + * 瀵煎嚭excel + * + * @param request + * @param equipment + */ + //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment:exportXls") + @RequestMapping(value = "/exportXlsNew") + public ModelAndView exportXlsNew(HttpServletRequest request, Equipment equipment) { + // Step.1 缁勮鏌ヨ鏉′欢 +// QueryWrapper<T> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + // 杩囨护閫変腑鏁版嵁 +// String selections = request.getParameter("selections"); +// if (oConvertUtils.isNotEmpty(selections)) { +// List<String> selectionList = Arrays.asList(selections.split(",")); +// queryWrapper.in("id",selectionList); +// } +// // Step.2 鑾峰彇瀵煎嚭鏁版嵁 +// List<T> exportList = service.list(queryWrapper); + + List<Map<String, Object>> mapList = equipmentService.exportXlsNew(); + + // Step.3 AutoPoi 瀵煎嚭Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //姝ゅ璁剧疆鐨刦ilename鏃犳晥 ,鍓嶇浼氶噸鏇存柊璁剧疆涓�涓� + mv.addObject(NormalExcelConstants.FILE_NAME, "璁惧鍙拌处瀵煎嚭"); + mv.addObject(NormalExcelConstants.CLASS, EquipmentExportVo.class); + //update-begin--Author:liusq Date:20210126 for锛氬浘鐗囧鍑烘姤閿欙紝ImageBasePath鏈缃�-------------------- + ExportParams exportParams=new ExportParams("璁惧鍙拌处瀵煎嚭" + "鎶ヨ〃", "瀵煎嚭浜�:" + sysUser.getRealname(), "璁惧鍙拌处瀵煎嚭"); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for锛氬浘鐗囧鍑烘姤閿欙紝ImageBasePath鏈缃�---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, mapList); + return mv; + } // /** // * 閫氳繃excel瀵煎叆鏁版嵁 @@ -936,7 +1024,7 @@ .setEquipmentUda4(equipmentImportVo.getEquipmentUda4()) .setEquipmentUda5(equipmentImportVo.getEquipmentUda5()) .setLocation(equipmentImportVo.getLocation()) - .setLastVerificationDate(equipmentImportVo.getLeaveFactoryDate()) + .setLeaveFactoryDate(equipmentImportVo.getLeaveFactoryDate()) .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo()) .setFundSource(equipmentImportVo.getFundSource()) .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate()) @@ -944,9 +1032,14 @@ .setSourceCountry(equipmentImportVo.getSourceCountry()) .setModel(equipmentImportVo.getModel()) .setSpecification(equipmentImportVo.getSpecification()) - .setPropertyStatus("normal") + .setPropertyStatus(equipmentImportVo.getPropertyStatus()) + .setOperatingSystem(equipmentImportVo.getOperatingSystem()) .setWarrantyStart(equipmentImportVo.getWarrantyStart()) .setWarrantyEnd(equipmentImportVo.getWarrantyEnd()) + .setCreateBy(equipmentImportVo.getCreateBy()) + .setCreateTime(equipmentImportVo.getCreateTime()) + .setUpdateBy(equipmentImportVo.getUpdateBy()) + .setUpdateTime(equipmentImportVo.getUpdateTime()) .setIsLineEquip("no") .setIsLine("no") .setNextTechnologyStatusQualificationTime(equipmentImportVo.getNextTechnologyStatusQualificationTime()) @@ -980,11 +1073,114 @@ } } } - equipmentService.save(equipment); + //涓嬫涓変繚鏃ユ湡澶勭悊 + if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate()); + LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod); + Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get()); + equipment.setNextThirdMaintenanceTime(date); + }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod); + equipment.setNextThirdMaintenanceTime(date); + } + equipmentService.saveOrUpdate(equipment); }else { exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐ワ紝鍘熷洜锛氱粺涓�缂栫爜宸插瓨鍦紝鏁版嵁閲嶅瀵煎叆;"; exceptionNum++; continue; +// oriEquipment.setUseId(equipment.getUseId()); +// oriEquipment.setWorkCenterId(equipment.getWorkCenterId()); +// oriEquipment.setFactoryModelId(equipment.getFactoryModelId()); +// oriEquipment.setAreaId(equipment.getAreaId()); +// oriEquipment.setManageId(equipment.getManageId()); +// oriEquipment.setEquipmentCategoryId(equipment.getEquipmentCategoryId()); +// oriEquipment.setTeamId(equipment.getTeamId()); +// oriEquipment.setConstructorId(equipment.getConstructorId()); +// oriEquipment.setNum(equipmentImportVo.getNum()) +// .setName(equipmentImportVo.getName()) +// .setTechnologyStatus(equipmentImportVo.getTechnologyStatus()) +// .setEquipmentImportanceId(equipmentImportVo.getEquipmentImportanceId()) +// .setSpecificEquipment(equipmentImportVo.getKeyEquipmentIdentification()) +// .setSecurityConfiguration(equipmentImportVo.getSecurityConfiguration()) +// .setCoolingSystem(equipmentImportVo.getCoolingSystem()) +// .setFireExtinguisher(equipmentImportVo.getFireExtinguisher()) +// .setFireExtinguisherValidityPeriod(equipmentImportVo.getFireExtinguisherValidityPeriod()) +// .setSystem(equipmentImportVo.getSystem()) +// .setPort(equipmentImportVo.getPort()) +// .setCoordinateNum(equipmentImportVo.getCoordinateNum()) +// .setEquipmentStatus(equipmentImportVo.getEquipmentStatus()) +// .setEquipmentUda3(equipmentImportVo.getEquipmentUda3()) +// .setEquipmentUda4(equipmentImportVo.getEquipmentUda4()) +// .setEquipmentUda5(equipmentImportVo.getEquipmentUda5()) +// .setLocation(equipmentImportVo.getLocation()) +// .setLeaveFactoryDate(equipmentImportVo.getLeaveFactoryDate()) +// .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo()) +// .setFundSource(equipmentImportVo.getFundSource()) +// .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate()) +// .setFactoryNumber(equipmentImportVo.getFactoryNumber()) +// .setSourceCountry(equipmentImportVo.getSourceCountry()) +// .setModel(equipmentImportVo.getModel()) +// .setSpecification(equipmentImportVo.getSpecification()) +// .setPropertyStatus(equipmentImportVo.getPropertyStatus()) +// .setOperatingSystem(equipmentImportVo.getOperatingSystem()) +// .setWarrantyStart(equipmentImportVo.getWarrantyStart()) +// .setWarrantyEnd(equipmentImportVo.getWarrantyEnd()) +// .setCreateBy(equipmentImportVo.getCreateBy()) +// .setCreateTime(equipmentImportVo.getCreateTime()) +// .setUpdateBy(equipmentImportVo.getUpdateBy()) +// .setUpdateTime(equipmentImportVo.getUpdateTime()) +// .setIsLineEquip("no") +// .setIsLine("no") +// .setNextTechnologyStatusQualificationTime(equipmentImportVo.getNextTechnologyStatusQualificationTime()) +// .setThirdMaintenanceTime(equipmentImportVo.getThirdMaintenanceTime()) +// .setTechnologyStatusQualificationTime(equipmentImportVo.getTechnologyStatusQualificationTime()) +// .setGpo(equipmentImportVo.getGpo()); +// if(equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine")){ +// oriEquipment.setCheckPeriod(365*3+""); +// } +// if(equipmentCategory.getEquipmentCategoryUda1().equals("filesCarousel")){ +// oriEquipment.setCheckPeriod(365*4+""); +// } +// if(equipmentCategory.getEquipmentCategoryUda1().equals("tester")){ +// oriEquipment.setCheckPeriod(365*1+""); +// } +// if( +// !equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine") +// &&!equipmentCategory.getEquipmentCategoryUda1().equals("filesCarousel") +// &&!equipmentCategory.getEquipmentCategoryUda1().equals("tester") +// ){ +// if(StringUtils.isNotBlank(abc)){ +// if(abc.equals("A")){ +// oriEquipment.setCheckPeriod(365*3+""); +// } +// if( +// abc.equals("B") +// ||abc.equals("C") +// ||abc.equals("D") +// ){ +// oriEquipment.setCheckPeriod(365*4+""); +// } +// } +// } +// //涓嬫涓変繚鏃ユ湡澶勭悊 +// if(oriEquipment.getThirdMaintenanceTime() == null && oriEquipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(oriEquipment.getCheckPeriod())){ +// //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡 +// int checkPeriod = Integer.parseInt(oriEquipment.getCheckPeriod()) - 1; +// LocalDate acceptanceCheckDate = LocalDate.parse(oriEquipment.getAcceptanceCheckDate()); +// LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod); +// Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get()); +// oriEquipment.setNextThirdMaintenanceTime(date); +// }else if(oriEquipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(oriEquipment.getCheckPeriod())){ +// //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡 +// int checkPeriod = Integer.parseInt(oriEquipment.getCheckPeriod()) - 1; +// Date date = DateUtils.getDayAfter(oriEquipment.getThirdMaintenanceTime(), checkPeriod); +// oriEquipment.setNextThirdMaintenanceTime(date); +// } +// equipmentService.updateById(oriEquipment); } } } @@ -994,7 +1190,7 @@ MessageDTO messageDTO = new MessageDTO(); messageDTO.setTitle(headInfo); messageDTO.setFromUser("鏁版嵁瀵煎叆灏忓姪鎵�-灏忓"); - messageDTO.setCategory("瀵煎叆鎿嶄綔闄勫姞淇℃伅"); + messageDTO.setCategory("瀵煎叆淇℃伅"); messageDTO.setContent(exceptionInfo); messageDTO.setToUser(user.getUsername()); sysBaseApi.sendSysAnnouncement(messageDTO); @@ -1119,16 +1315,43 @@ @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { - QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap()); +// QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap()); + QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>(); + String num = equipment.getNum(); + if(StringUtils.isNotBlank(num)){ + queryWrapper.like("num",num); + } + String name = equipment.getName(); + if(StringUtils.isNotBlank(name)){ + queryWrapper.like("name",name); + } + String workCenterId = equipment.getWorkCenterId(); + if(StringUtils.isNotBlank(workCenterId)){ + queryWrapper.eq("work_center_id",workCenterId); + } //鏍规嵁涓嬫涓変繚鏃堕棿鎺掑簭 - queryWrapper.orderByAsc("next_third_maintenance_time"); + //濡傛灉startTime鍜宔ndTime涓嶄负绌猴紝鍒欐煡璇笅娆′笁淇濇椂闂村湪杩欎釜鏃堕棿娈靛唴鐨勮澶� if(equipment.getStartTime()!=null && equipment.getEndTime()!=null){ queryWrapper.between("next_third_maintenance_time",equipment.getStartTime(),equipment.getEndTime()); } + queryWrapper.orderByAsc("next_third_maintenance_time"); Page<Equipment> page = new Page<Equipment>(pageNo, pageSize); IPage<Equipment> pageList = equipmentService.page(page, queryWrapper); return Result.OK(pageList); } + private List<String> getUserWorkCenterIds(){ + LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); + SysUser sysUser = sysUserService.getById(user.getId()); + String areaId = sysUser.getAreaId(); + List<String> workCenterIds = null; + if(StringUtils.isNotBlank(areaId)){ +// strings = new ArrayList<>(); + String[] split = areaId.split(","); + workCenterIds = Arrays.asList(split); + } + return workCenterIds; + } + } -- Gitblit v1.9.3