From 07e4b1114feadc19478847a9bcda869b5d6a5bf7 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期五, 02 九月 2022 14:23:10 +0800 Subject: [PATCH] 项目目录结构调整 --- equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java | 258 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 225 insertions(+), 33 deletions(-) diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java index 1217145..e59c480 100644 --- a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java +++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/EquipmentInfoServiceImpl.java @@ -10,21 +10,33 @@ import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; +import com.gkhy.safePlatform.commons.utils.PageUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.equipment.entity.*; +import com.gkhy.safePlatform.equipment.excepiton.EquipmentException; import com.gkhy.safePlatform.equipment.model.dto.req.*; import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentInfoDto; +import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentInfoExcel; import com.gkhy.safePlatform.equipment.repository.EquipmentInfoRepository; import com.gkhy.safePlatform.equipment.repository.EquipmentTypeMngRepository; import com.gkhy.safePlatform.equipment.service.*; +import com.gkhy.safePlatform.equipment.service.baseService.*; +import com.gkhy.safePlatform.equipment.utils.DateUtils; import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus; +import com.gkhy.safePlatform.equipment.utils.poihelper.ExcelLogs; +import com.gkhy.safePlatform.equipment.utils.poihelper.ExcelUtil; +import org.apache.commons.collections.CollectionUtils; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.io.Serializable; +import java.net.URLEncoder; import java.util.*; import java.util.stream.Collectors; @@ -35,25 +47,25 @@ * @since 2022-07-19 14:02:50 */ @Service("equipmentInfoService") -public class EquipmentInfoServiceImpl extends ServiceImpl<EquipmentInfoRepository, EquipmentInfo> implements EquipmentInfoService { +public class EquipmentInfoServiceImpl implements EquipmentInfoService { @Autowired - private EquipmentInfoRepository equipmentInfoRepository; + private EquipmentInfoBaseService equipmentInfoBaseService; @Autowired - private EquipmentTakecareDetailService equipmentTakecareDetailService; + private EquipmentTakecareDetailBaseService equipmentTakecareDetailBaseService; @Autowired - private EquipmentTestDetailService equipmentTestDetailService; + private EquipmentTestDetailBaseService equipmentTestDetailBaseService; @Autowired - private EquipmentRepairDetailService equipmentRepairDetailService; + private EquipmentRepairDetailBaseService equipmentRepairDetailBaseService; @Autowired - private EquipmentTakecareStardardDetailService equipmentTakecareStardardDetailService; + private EquipmentTakecareStardardDetailBaseService equipmentTakecareStardardDetailBaseService; @Autowired - private EquipmentCheckStandardDetailService equipmentCheckStandardDetailService; + private EquipmentCheckStandardDetailBaseService equipmentCheckStandardDetailBaseService; @DubboReference(check = false) private AccountDepartmentService accountDepartmentService; @@ -61,13 +73,22 @@ @Autowired private EquipmentTypeMngRepository equipmentTypeMngRepository; + @Autowired + public HttpServletResponse response; + @Override public ResultVO queryAll(PageQuery<EquipmentInfoQueryCriteria> pageQuery) { + if(pageQuery.getSearchParams().getInfoType() == null){ + return new ResultVO<>(ResultCodes.CLIENT_PARAM_ILLEGAL,"缺少infoType"); + } + + PageUtils.checkCheck(pageQuery); + Long pageIndex = pageQuery.getPageIndex(); Long pageSize = pageQuery.getPageSize(); IPage<EquipmentInfo> page = new Page<>(pageIndex, pageSize); - page = baseMapper.selectPage(page, + page = equipmentInfoBaseService.selectPage(page, QueryHelpPlus.getPredicate(EquipmentInfo.class, pageQuery.getSearchParams())); List<EquipmentInfoDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), EquipmentInfoDto.class); @@ -77,14 +98,14 @@ EquipmentTakecareDetailQueryCriteria criteria = new EquipmentTakecareDetailQueryCriteria(); criteria.setEquipmentId(f.getId()); criteria.setInfoTpe(pageQuery.getSearchParams().getInfoType()); - List<EquipmentTakecareDetail> takecareDetailList = equipmentTakecareDetailService.queryAll(criteria); + List<EquipmentTakecareDetail> takecareDetailList = equipmentTakecareDetailBaseService.queryAll(criteria); f.setTakecareDetailList(takecareDetailList); //设备检测 EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria(); criteria1.setEquipmentId(f.getId()); criteria1.setInfoTpe(pageQuery.getSearchParams().getInfoType()); - List<EquipmentTestDetail> testDetailList = equipmentTestDetailService.queryAll(criteria1); + List<EquipmentTestDetail> testDetailList = equipmentTestDetailBaseService.queryAll(criteria1); f.setTestDetailList(testDetailList); //设备检查 TODO @@ -94,7 +115,7 @@ EquipmentRepairDetailQueryCriteria criteria2 = new EquipmentRepairDetailQueryCriteria(); criteria2.setEquipmentId(f.getId()); criteria2.setInfoTpe(pageQuery.getSearchParams().getInfoType()); - List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailService.queryAll(criteria2); + List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailBaseService.queryAll(criteria2); f.setRepaireDetailList(repairDetailList); @@ -133,12 +154,12 @@ @Override public List<EquipmentInfo> queryAll(EquipmentInfoQueryCriteria criteria) { - return baseMapper.selectList(QueryHelpPlus.getPredicate(EquipmentInfo.class, criteria)); + return equipmentInfoBaseService.queryAll(criteria); } @Override public EquipmentInfoDto selectOne(Serializable id) { - EquipmentInfo equipmentInfo = baseMapper.selectById(id); + EquipmentInfo equipmentInfo = equipmentInfoBaseService.getById(id); if(equipmentInfo == null){ return null; } @@ -149,14 +170,14 @@ EquipmentTakecareDetailQueryCriteria criteria = new EquipmentTakecareDetailQueryCriteria(); criteria.setEquipmentId(infoDto.getId()); criteria.setInfoTpe(infoDto.getInfoType()); - List<EquipmentTakecareDetail> takecareDetailList = equipmentTakecareDetailService.queryAll(criteria); + List<EquipmentTakecareDetail> takecareDetailList = equipmentTakecareDetailBaseService.queryAll(criteria); infoDto.setTakecareDetailList(takecareDetailList); //设备检测 EquipmentTestDetailQueryCriteria criteria1 = new EquipmentTestDetailQueryCriteria(); criteria1.setEquipmentId(infoDto.getId()); criteria1.setInfoTpe(infoDto.getInfoType()); - List<EquipmentTestDetail> testDetailList = equipmentTestDetailService.queryAll(criteria1); + List<EquipmentTestDetail> testDetailList = equipmentTestDetailBaseService.queryAll(criteria1); infoDto.setTestDetailList(testDetailList); //设备检查 TODO @@ -166,21 +187,21 @@ EquipmentRepairDetailQueryCriteria criteria2 = new EquipmentRepairDetailQueryCriteria(); criteria2.setEquipmentId(infoDto.getId()); criteria2.setInfoTpe(infoDto.getInfoType()); - List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailService.queryAll(criteria2); + List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailBaseService.queryAll(criteria2); infoDto.setRepaireDetailList(repairDetailList); //检查标准 EquipmentCheckStandardDetailQueryCriteria criteria3 = new EquipmentCheckStandardDetailQueryCriteria(); criteria3.setEquipmentId(infoDto.getId()); criteria3.setInfoTpe(infoDto.getInfoType()); - List<EquipmentCheckStandardDetail> checkStandardDetailList = equipmentCheckStandardDetailService.queryAll(criteria3); + List<EquipmentCheckStandardDetail> checkStandardDetailList = equipmentCheckStandardDetailBaseService.queryAll(criteria3); infoDto.setCheckStandardeDetailList(checkStandardDetailList); //保养标准 EquipmentTakecareStardardDetailQueryCriteria criteria4 = new EquipmentTakecareStardardDetailQueryCriteria(); criteria4.setEquipmentId(infoDto.getId()); criteria4.setInfoTpe(infoDto.getInfoType()); - List<EquipmentTakecareStardardDetail> takecareStardardDetailList = equipmentTakecareStardardDetailService.queryAll(criteria4); + List<EquipmentTakecareStardardDetail> takecareStardardDetailList = equipmentTakecareStardardDetailBaseService.queryAll(criteria4); infoDto.setTakecareStardardeDetailList(takecareStardardDetailList); @@ -214,12 +235,19 @@ @Override public void addOrUpdate(EquipmentInfoSaveOrUpdate infoDto) { + if(infoDto.getInfoType() == null || infoDto.getEquipmentTypeId() == null){ + throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL); + } + if(infoDto.getInfoType() == 3){ + throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL); + } + EquipmentInfo equipmentInfo = BeanCopyUtils.copyBean(infoDto, EquipmentInfo.class); //保存主数据 if (infoDto.getId() == null) { //新增 - this.save(equipmentInfo); + equipmentInfoBaseService.save(equipmentInfo); } else { - this.update(equipmentInfo,new UpdateWrapper<EquipmentInfo>().eq("id",infoDto.getId())); + equipmentInfoBaseService.update(equipmentInfo,new UpdateWrapper<EquipmentInfo>().eq("id",infoDto.getId())); } @@ -229,7 +257,7 @@ f.setEquipmentId(equipmentInfo.getId()); f.setInfoTpe(equipmentInfo.getInfoType()); }); - equipmentTakecareDetailService.saveOrUpdateBatch(takecareDetailList); + equipmentTakecareDetailBaseService.saveOrUpdateBatch(takecareDetailList); if(StringUtils.hasText(infoDto.getDelTakecareDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelTakecareDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); @@ -241,7 +269,7 @@ info.setId(f); delList.add(info); }); - equipmentTakecareDetailService.updateBatchById(delList); + equipmentTakecareDetailBaseService.updateBatchById(delList); } @@ -252,7 +280,7 @@ f.setEquipmentId(equipmentInfo.getId()); f.setInfoTpe(equipmentInfo.getInfoType()); }); - equipmentTestDetailService.saveOrUpdateBatch(testDetailList); + equipmentTestDetailBaseService.saveOrUpdateBatch(testDetailList); if(StringUtils.hasText(infoDto.getDelTestDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelTestDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); @@ -263,7 +291,7 @@ info.setId(f); delList.add(info); }); - equipmentTestDetailService.updateBatchById(delList); + equipmentTestDetailBaseService.updateBatchById(delList); } //设备检查 TODO @@ -275,7 +303,7 @@ f.setEquipmentId(equipmentInfo.getId()); f.setInfoTpe(equipmentInfo.getInfoType()); }); - equipmentRepairDetailService.saveOrUpdateBatch(repaireDetailList); + equipmentRepairDetailBaseService.saveOrUpdateBatch(repaireDetailList); if(StringUtils.hasText(infoDto.getDelRepaireDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelRepaireDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); @@ -286,7 +314,7 @@ info.setId(f); delList.add(info); }); - equipmentRepairDetailService.updateBatchById(delList); + equipmentRepairDetailBaseService.updateBatchById(delList); } //保存检查标准 @@ -295,7 +323,7 @@ f.setEquipmentId(equipmentInfo.getId()); f.setInfoTpe(equipmentInfo.getInfoType()); }); - equipmentCheckStandardDetailService.saveOrUpdateBatch(checkStandardeDetailList); + equipmentCheckStandardDetailBaseService.saveOrUpdateBatch(checkStandardeDetailList); if(StringUtils.hasText(infoDto.getDelCheckStandardeDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelCheckStandardeDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); @@ -306,7 +334,7 @@ info.setId(f); delList.add(info); }); - equipmentCheckStandardDetailService.updateBatchById(delList); + equipmentCheckStandardDetailBaseService.updateBatchById(delList); } //保存保养标准 @@ -315,7 +343,7 @@ f.setEquipmentId(equipmentInfo.getId()); f.setInfoTpe(equipmentInfo.getInfoType()); }); - equipmentTakecareStardardDetailService.saveOrUpdateBatch(takecareStardardeDetailList); + equipmentTakecareStardardDetailBaseService.saveOrUpdateBatch(takecareStardardeDetailList); if(StringUtils.hasText(infoDto.getDelTakecareStardardeDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelTakecareStardardeDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); @@ -326,7 +354,7 @@ info.setId(f); delList.add(info); }); - equipmentTakecareStardardDetailService.updateBatchById(delList); + equipmentTakecareStardardDetailBaseService.updateBatchById(delList); } @@ -338,11 +366,11 @@ .select("stop_status as stopStatus,count(0) as count") .groupBy("stop_status"); - List<Map<String, Object>> list = this.listMaps(wrapper); + List<Map<String, Object>> list = equipmentInfoBaseService.listMaps(wrapper); Map<String, Object> map = new HashMap<>(); - map.put("-1",equipmentInfoRepository.countOverTime());//超时未保养 + map.put("-1",equipmentInfoBaseService.countOverTime());//超时未保养 return list; } @@ -361,10 +389,174 @@ } } } catch (Exception e) { - log.error("exception",e); + System.out.println("exception"+e); } } }); return depPool; } + + @Override + public void importData(MultipartFile file) throws IOException { + String contentType = file.getContentType(); + if(!"application/vnd.ms-excel".equals(contentType) + && !"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet".equals(contentType)) { + throw new EquipmentException("上传的excel格式错误"); + } + + Collection<EquipmentInfoImportExcel> importExcel = ExcelUtil.importExcel(EquipmentInfoImportExcel.class, file.getInputStream(), "yyyy-MM-dd HH:mm:ss", new ExcelLogs() , 0); + + if (CollectionUtils.isEmpty(importExcel)) { + return ; + } + + List<EquipmentInfo> respList = BeanCopyUtils.copyBeanList((List<EquipmentInfoImportExcel>)importExcel, EquipmentInfo.class); + + equipmentInfoBaseService.saveBatch(respList); + } + + @Override + public void delete(Long[] ids) { + if(ids == null){ + throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL); + } + List<Long> idList = Arrays.asList(ids); + + List<EquipmentInfo> delList = new ArrayList<>(); + idList.forEach(f->{ + EquipmentInfo info = new EquipmentInfo(); + info.setDelFlag(1); + info.setId(f); + delList.add(info); + }); + + equipmentInfoBaseService.updateBatchById(delList); + + } + + @Override + public void exportTemplate() throws IOException { + Map<String,String> map = new LinkedHashMap<>(); + map.put("1", "类型/类别外键"); + map.put("2", "具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 "); + map.put("3", "名称"); + map.put("4", "位号"); + map.put("5", "用途"); + map.put("6", "型号"); + map.put("7", "单位部门外键"); + map.put("8", "设置部位"); + map.put("9", "生产日期(yyyy-MM-dd HH:mm:ss)"); + map.put("10", "使用期限(天)"); + map.put("11", "生命周期 1:已使用 2:库存中 3:报废"); + map.put("12", "投用日期(yyyy-MM-dd HH:mm:ss)"); + map.put("13", "维修状态 1:维修中 2:已修好"); + map.put("14", "停用状态 1:停用 2.在用 3.维修 4.报废"); + map.put("15", "上次检查日期(yyyy-MM-dd HH:mm:ss)"); + map.put("16", "上次检测日期(yyyy-MM-dd HH:mm:ss)"); + map.put("17", "上次保养日期(yyyy-MM-dd HH:mm:ss)"); + map.put("18", "下次检查日期(yyyy-MM-dd HH:mm:ss)"); + map.put("19", "下次检测日期(yyyy-MM-dd HH:mm:ss)"); + map.put("20", "下次保养日期(yyyy-MM-dd HH:mm:ss)"); + map.put("21", "负责人ID外键"); + map.put("22", "负责人部门外键"); + map.put("23", "供应商"); + map.put("24", "使用说明"); + map.put("25", "是否检查 1:是 2:否"); + map.put("26", "检查周期"); + map.put("27", "检查提前提醒"); + map.put("28", "是否检测 1:是 2:否"); + map.put("29", "检测周期"); + map.put("30", "检测提前提醒"); + map.put("31", "是否保养 1:是 2:否"); + map.put("32", "检查内容"); + map.put("33", "负责部门/外键"); + map.put("34", "检查指标"); + map.put("35", "预警值"); + map.put("36", "联锁值"); + map.put("37", "停用理由"); + map.put("38", "停用后措施"); + map.put("39", "实际停用日期(yyyy-MM-dd HH:mm:ss)"); + map.put("40", "停用提交人/外键"); + map.put("41", "停用提交日期(yyyy-MM-dd HH:mm:ss)"); + map.put("42", "恢复理由"); + map.put("43", "恢复填报日期(yyyy-MM-dd HH:mm:ss)"); + map.put("44", "实际恢复日期(yyyy-MM-dd HH:mm:ss)"); + map.put("45", "报废理由"); + map.put("46", "报废填报日期(yyyy-MM-dd HH:mm:ss)"); + map.put("47", "实际报废日期(yyyy-MM-dd HH:mm:ss)"); + map.put("48", "保养周期"); + String fileName = URLEncoder.encode("设备设施管理数据导入模板.xls", "UTF-8"); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx"); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + + ExcelUtil.exportExcel(map,new ArrayList<>() , response.getOutputStream()); + response.getOutputStream().close(); + } + + @Override + public void exportData(EquipmentInfoQueryCriteria queryCriteria) throws IOException { + Map<String,String> map = new LinkedHashMap<>(); + map.put("0", "ID"); + map.put("1", "类型/类别外键"); + map.put("2", "具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 "); + map.put("3", "名称"); + map.put("4", "位号"); + map.put("5", "用途"); + map.put("6", "型号"); + map.put("7", "单位部门外键"); + map.put("8", "设置部位"); + map.put("9", "生产日期(yyyy-MM-dd HH:mm:ss)"); + map.put("10", "使用期限(天)"); + map.put("11", "生命周期 1:已使用 2:库存中 3:报废"); + map.put("12", "投用日期(yyyy-MM-dd HH:mm:ss)"); + map.put("13", "维修状态 1:维修中 2:已修好"); + map.put("14", "停用状态 1:停用 2.在用 3.维修 4.报废"); + map.put("15", "上次检查日期(yyyy-MM-dd HH:mm:ss)"); + map.put("16", "上次检测日期(yyyy-MM-dd HH:mm:ss)"); + map.put("17", "上次保养日期(yyyy-MM-dd HH:mm:ss)"); + map.put("18", "下次检查日期(yyyy-MM-dd HH:mm:ss)"); + map.put("19", "下次检测日期(yyyy-MM-dd HH:mm:ss)"); + map.put("20", "下次保养日期(yyyy-MM-dd HH:mm:ss)"); + map.put("21", "负责人ID外键"); + map.put("22", "负责人部门外键"); + map.put("23", "供应商"); + map.put("24", "使用说明"); + map.put("25", "是否检查 1:是 2:否"); + map.put("26", "检查周期"); + map.put("27", "检查提前提醒"); + map.put("28", "是否检测 1:是 2:否"); + map.put("29", "检测周期"); + map.put("30", "检测提前提醒"); + map.put("31", "是否保养 1:是 2:否"); + map.put("32", "检查内容"); + map.put("33", "负责部门/外键"); + map.put("34", "检查指标"); + map.put("35", "预警值"); + map.put("36", "联锁值"); + map.put("37", "停用理由"); + map.put("38", "停用后措施"); + map.put("39", "实际停用日期(yyyy-MM-dd HH:mm:ss)"); + map.put("40", "停用提交人/外键"); + map.put("41", "停用提交日期(yyyy-MM-dd HH:mm:ss)"); + map.put("42", "恢复理由"); + map.put("43", "恢复填报日期(yyyy-MM-dd HH:mm:ss)"); + map.put("44", "实际恢复日期(yyyy-MM-dd HH:mm:ss)"); + map.put("45", "报废理由"); + map.put("46", "报废填报日期(yyyy-MM-dd HH:mm:ss)"); + map.put("47", "实际报废日期(yyyy-MM-dd HH:mm:ss)"); + map.put("48", "保养周期"); + + String key = DateUtils.date2String(new Date(), DateUtils.PATTERN_ALLTIME_NOSIGN) ; + String fileName = URLEncoder.encode("设备设施管理"+key+".xls", "UTF-8"); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx"); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + + queryCriteria.setDelFlag(0); + List<EquipmentInfoExcel> respList = BeanCopyUtils.copyBeanList(this.queryAll(queryCriteria), EquipmentInfoExcel.class); + + ExcelUtil.exportExcel(map,respList , response.getOutputStream(),DateUtils.PATTERN_STANDARD); + response.getOutputStream().close(); + } } \ No newline at end of file -- Gitblit v1.9.2