| | |
| | | package com.example.server.progressTrack.service; |
| | | |
| | | import com.example.client.utils.TranslateToPlainStrUtils; |
| | | import com.example.server.ExportExcel.dto.ExcelColumnDto; |
| | | import com.example.client.service.BaseService; |
| | | import com.example.server.ExportExcel.dto.ExprotExcelDto; |
| | | import com.example.server.ExportExcel.method.ExcelExport; |
| | | import com.example.server.progressTrack.Dto.ReportRecordDto; |
| | | import com.example.server.progressTrack.Dto.StatistReportsDto; |
| | | import com.example.server.progressTrack.dao.DjJdgzTrackRecordDao; |
| | | import com.example.server.progressTrack.model.DjJdgzNetworkLevel1; |
| | |
| | | private SysTeamGroupClassService sysTeamGroupClassService; |
| | | |
| | | |
| | | public List<DjJdgzTrackRecord> getList(Long level1NetworkId, Long deptId, Long teamId, Long cabinId, String type, Integer status, String name) { |
| | | public List<DjJdgzTrackRecord> getList(Long level1NetworkId, Long deptId, Long teamId, Long cabinId, String type, Integer status, Integer isealCabin, String name) { |
| | | Long userId = null; |
| | | /* Map adminRole = sysUserService.adminRole(); |
| | | Object isTyRole = adminRole.get("isTyRole"); |
| | |
| | | if (isTyRole.equals(true) || isYwzRole.equals(true)) { |
| | | userId = UserContext.getUser().getId(); |
| | | }*/ |
| | | List<DjJdgzTrackRecord> list = baseDao.getList(level1NetworkId,deptId,teamId,cabinId,type, status, name); |
| | | List<DjJdgzTrackRecord> list = baseDao.getList(level1NetworkId, deptId, teamId, cabinId, type, status, isealCabin, name); |
| | | /*if (list != null && list.size() > 0) { |
| | | sysOssService.setListOsses(list, "ProjectProgressFileUpload"); |
| | | }*/ |
| | |
| | | Integer trackNum = baseDao.getTrackNum(data.getLevel3NodeId()); |
| | | data.setActualCompletion(data.getEstimatedCompletionTime()); |
| | | data.setTrackNum(trackNum); |
| | | int weekNo = this.getWeekNo(data.getLevel1NetworkId()); |
| | | if (data.getWeekNo() != null) { |
| | | if (data.getWeekNo() != weekNo) { |
| | | data.setWeekNo(weekNo); |
| | | data.setIsUpdate(false); |
| | | } else { |
| | | data.setIsUpdate(true); |
| | | } |
| | | } else { |
| | | data.setWeekNo(weekNo); |
| | | data.setIsUpdate(false); |
| | | } |
| | | } |
| | | } |
| | | return list; |
| | |
| | | super.deleteLogic(ids); |
| | | } |
| | | |
| | | public Long save(DjJdgzTrackRecord djJdgzTrackRecord) { |
| | | public Long save(DjJdgzTrackRecord djJdgzTrackRecord, String type) { |
| | | Long id = null; |
| | | int weekNo = this.getWeekNo(djJdgzTrackRecord.getLevel1NetworkId()); |
| | | LocalDate currentDate = LocalDate.now(); |
| | | // 定义日期格式 |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | // 将当前日期格式化为字符串 |
| | | String formattedDate = currentDate.format(formatter); |
| | | djJdgzTrackRecord.setUpdateDate(formattedDate); |
| | | if (djJdgzTrackRecord.getCurrentStatus() == 1) { |
| | | //时间比较 |
| | | djJdgzTrackRecord.setEstimatedCompletionTime(formattedDate); |
| | | } |
| | | if (djJdgzTrackRecord.getIsUpdate()) { |
| | | this.update(djJdgzTrackRecord); |
| | | id = djJdgzTrackRecord.getId(); |
| | | } else { |
| | | id = UUIDUtil.generateId(); |
| | | djJdgzTrackRecord.setWeekNo(weekNo); |
| | | djJdgzTrackRecord.setId(id); |
| | | djJdgzTrackRecord.setCreateDate(formattedDate); |
| | | this.insert(djJdgzTrackRecord); |
| | | id = djJdgzTrackRecord.getId(); |
| | | } |
| | | int weekNo = this.getWeekNo(djJdgzTrackRecord.getLevel1NetworkId(),new Date()); |
| | | |
| | | if (djJdgzTrackRecord.getCurrentStatus() == 1) { |
| | | DjJdgzNetworkLevel3List nextNode = djJdgzNetworkLevel3ListService.getNextNode(djJdgzTrackRecord.getLevel3NodeId(), djJdgzTrackRecord.getLevel3NetworkId()); |
| | | if (nextNode != null) { |
| | | DjJdgzTrackRecord data = new DjJdgzTrackRecord(); |
| | | data.setLevel3NodeId(nextNode.getId()); |
| | | data.setProcessName(nextNode.getProcessName()); |
| | | data.setLevel3NetworkId(djJdgzTrackRecord.getLevel3NetworkId()); |
| | | data.setLevel3NetworkName(djJdgzTrackRecord.getLevel3NetworkName()); |
| | | data.setEstimatedCompletionTime(nextNode.getRequiredCompletionTime()); |
| | | data.setGeneralRepairUnit(djJdgzTrackRecord.getGeneralRepairUnit()); |
| | | data.setGeneralRepairUnitContact(djJdgzTrackRecord.getGeneralRepairUnitContact()); |
| | | data.setGeneralRepairUnitDirector(djJdgzTrackRecord.getGeneralRepairUnitDirector()); |
| | | data.setRepairUnit(djJdgzTrackRecord.getRepairUnit()); |
| | | data.setRepairUnitContact(djJdgzTrackRecord.getRepairUnitContact()); |
| | | data.setRepairUnitDirector(djJdgzTrackRecord.getRepairUnitDirector()); |
| | | data.setTrackMethod(1); |
| | | data.setWeekNo(weekNo); |
| | | data.setUpdateDate(formattedDate); |
| | | data.setCreateDate(formattedDate); |
| | | this.insert(data); |
| | | if (type.equals("import")) { |
| | | Long oldId = baseDao.getIsExit(djJdgzTrackRecord.getLevel3NetworkId(), djJdgzTrackRecord.getProcessName(), djJdgzTrackRecord.getWeekNo()); |
| | | if (oldId != null) { |
| | | djJdgzTrackRecord.setId(oldId); |
| | | djJdgzTrackRecord.setIsUpdate(true); |
| | | } else { |
| | | djJdgzTrackRecord.setIsUpdate(false); |
| | | } |
| | | }else{ |
| | | if (djJdgzTrackRecord.getWeekNo() != null && djJdgzTrackRecord.getWeekNo() == weekNo) { |
| | | djJdgzTrackRecord.setIsUpdate(true); |
| | | } else { |
| | | djJdgzTrackRecord.setWeekNo(weekNo); |
| | | djJdgzTrackRecord.setIsUpdate(false); |
| | | } |
| | | LocalDate currentDate = LocalDate.now(); |
| | | // 定义日期格式 |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | // 将当前日期格式化为字符串 |
| | | String formattedDate = currentDate.format(formatter); |
| | | |
| | | if (djJdgzTrackRecord.getCurrentStatus() == 1) { |
| | | djJdgzTrackRecord.setEstimatedCompletionTime(formattedDate); |
| | | } |
| | | } |
| | | //改变三级网络图状态 |
| | | |
| | | if (djJdgzTrackRecord.getIsUpdate()) { |
| | | this.update(djJdgzTrackRecord); |
| | | } else { |
| | | djJdgzTrackRecord.setId(null); |
| | | if(type.equals("save")){ |
| | | djJdgzTrackRecord.setWeekNo(weekNo); |
| | | } |
| | | this.insert(djJdgzTrackRecord); |
| | | } |
| | | id = djJdgzTrackRecord.getId(); |
| | | |
| | | this.setLevel3Status(djJdgzTrackRecord.getLevel3NodeId(), djJdgzTrackRecord.getCurrentStatus(), djJdgzTrackRecord.getEstimatedCompletionTime()); |
| | | |
| | | if (djJdgzTrackRecord.getCurrentStatus() == 1) { |
| | | DjJdgzNetworkLevel3List nextNode = baseDao.isExistTrackRecord(djJdgzNetworkLevel3ListService.get(djJdgzTrackRecord.getLevel3NodeId()).getSort(), djJdgzTrackRecord.getLevel3NetworkId()); |
| | | if (nextNode != null && nextNode.getTrackRecordId() == null) { |
| | | djJdgzTrackRecord.setId(null); |
| | | djJdgzTrackRecord.setLevel3NodeId(nextNode.getId()); |
| | | djJdgzTrackRecord.setProcessName(nextNode.getProcessName()); |
| | | djJdgzTrackRecord.setEstimatedCompletionTime(nextNode.getRequiredCompletionTime()); |
| | | djJdgzTrackRecord.setWeekNo(weekNo); |
| | | djJdgzTrackRecord.setCurrentStatus(0); |
| | | |
| | | djJdgzTrackRecord.setUpdateDate(null); |
| | | djJdgzTrackRecord.setCreateDate(null); |
| | | djJdgzTrackRecord.setCreator(null); |
| | | djJdgzTrackRecord.setUpdater(null); |
| | | this.insert(djJdgzTrackRecord); |
| | | this.setLevel3Status(djJdgzTrackRecord.getLevel3NodeId(), djJdgzTrackRecord.getCurrentStatus(), djJdgzTrackRecord.getEstimatedCompletionTime()); |
| | | } |
| | | } |
| | | return id; |
| | | |
| | | } |
| | | |
| | | public int getWeekNo(Long level1NetworkId) { |
| | | public int getWeekNo(Long level1NetworkId,Date nowDate) { |
| | | DjJdgzNetworkLevel1 level1Network = djJdgzNetworkLevel1Service.get(level1NetworkId); |
| | | SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd"); |
| | | String formattedDate = sdFormat.format(new Date()); |
| | | Date nowDate = null; |
| | | String formattedDate = sdFormat.format(nowDate); |
| | | Date startDate = null; |
| | | try { |
| | | nowDate = sdFormat.parse(formattedDate); |
| | |
| | | return baseDao.getReport(level1NetworkId); |
| | | } |
| | | |
| | | public List<DjJdgzTrackRecord> prompt(Long level1NetworkId) { |
| | | public List<DjJdgzTrackRecord> prompt(Long level1NetworkId, Long deptId, Long teamId, String name) { |
| | | Long userId = null; |
| | | /* Map adminRole = sysUserService.adminRole(); |
| | | Object isTyRole = adminRole.get("isTyRole"); |
| | |
| | | if (isTyRole.equals(true) || isYwzRole.equals(true)) { |
| | | userId = UserContext.getUser().getId(); |
| | | }*/ |
| | | int weekNo = this.getWeekNo(level1NetworkId); |
| | | List<DjJdgzTrackRecord> data = baseDao.prompt(level1NetworkId, weekNo, userId); |
| | | int weekNo = this.getWeekNo(level1NetworkId,new Date()); |
| | | List<DjJdgzTrackRecord> data = baseDao.prompt(level1NetworkId, weekNo, userId, deptId, teamId, name); |
| | | for (DjJdgzTrackRecord record : data) { |
| | | int i = weekNo - record.getWeekNo(); |
| | | record.setStatus(i + "周未完成"); |
| | |
| | | Long level3NetworkId, Long level3NodeId, Integer status, Date beginDate, |
| | | Date endDate, Integer istq, List<ExcelColumnDto> columnDto) { |
| | | List<ExprotExcelDto> dtos = new ArrayList<>(); |
| | | /* Map<String, String> keywordMap = dailyPlanService.getReplacement(); |
| | | String keywordT = keywordMap.get("ting");*/ |
| | | |
| | | Map<Integer, String> trackMethodMap = new HashMap<>(); |
| | | trackMethodMap.put(0, "线下"); |
| | |
| | | } |
| | | } |
| | | |
| | | public List<DjJdgzTrackRecord> getListByImport(Long level1Id, Long level2Id, Long level2NodeId, String selectedIds) { |
| | | public List<DjJdgzTrackRecord> getListByImport(Long level1Id, Long level2Id, Long level2NodeId, String |
| | | selectedIds) { |
| | | return baseDao.getListByImport(level1Id, level2Id, level2NodeId, selectedIds); |
| | | } |
| | | |
| | |
| | | isErr = true; |
| | | continue; |
| | | } else { |
| | | int weekNo = this.getWeekNo(level1NetworkId); |
| | | Date parsedDate = new SimpleDateFormat("yyyy-MM-dd").parse(dataDate); |
| | | int weekNo = this.getWeekNo(level1NetworkId, parsedDate); |
| | | data.setWeekNo(weekNo); |
| | | data.setLevel1NetworkId(level1NetworkId); |
| | | data.setLevel3NetworkId(level3.getId()); |
| | |
| | | } else { |
| | | List<DjJdgzNetworkLevel3List> list = djJdgzNetworkLevel3ListService.getList(level3.getId()); |
| | | for (DjJdgzNetworkLevel3List item : list) { |
| | | if(item.getProcessName().equals(progressName)){ |
| | | if (item.getProcessName().equals(progressName)) { |
| | | data.setLevel3NodeId(item.getId()); |
| | | data.setEstimatedCompletionTime(item.getRequiredCompletionTime()); |
| | | break; |
| | |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(trackPersonContact)) { |
| | | trackPersonContact = TranslateToPlainStrUtils.translateToPlainStr(trackPersonContact); |
| | | data.setTrackPersonContact(trackPersonContact); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(trackedPerson)) { |
| | | data.setTrackPerson(trackPersonStr); |
| | | data.setTrackedPerson(trackedPerson); |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(trackedPersonContact)) { |
| | | data.setTrackPersonContact(trackPersonContact); |
| | | trackedPersonContact = TranslateToPlainStrUtils.translateToPlainStr(trackedPersonContact); |
| | | data.setTrackedPersonContact(trackedPersonContact); |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(trackedPersonUnit)) { |
| | | data.setTrackPersonUnit(trackPersonUnit); |
| | | data.setTrackedPersonUnit(trackedPersonUnit); |
| | | } |
| | | if (StringUtils.isNotBlank(generalRepairUnit)) { |
| | | data.setGeneralRepairUnit(generalRepairUnit); |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(generalRepairUnitContact)) { |
| | | generalRepairUnitContact = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnitContact); |
| | | data.setGeneralRepairUnitContact(generalRepairUnitContact); |
| | | } |
| | | if (StringUtils.isNotBlank(generalRepairUnitDirector)) { |
| | |
| | | data.setRepairUnit(repairUnit); |
| | | } |
| | | if (StringUtils.isNotBlank(generalRepairUnit)) { |
| | | generalRepairUnit = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnit); |
| | | data.setRepairUnitContact(repairUnitContact); |
| | | } |
| | | if (StringUtils.isNotBlank(generalRepairUnit)) { |
| | |
| | | } |
| | | |
| | | if (!isErr) { |
| | | data.setIsUpdate(false); |
| | | this.save(data); |
| | | this.save(data, "import"); |
| | | } |
| | | if (isErr) { |
| | | err++; |
| | |
| | | public void retract(Long id) { |
| | | baseDao.retract(id); |
| | | } |
| | | |
| | | public List<ReportRecordDto> getReportRecord(Long level1NetworkId, int column, Long teamgroupId) { |
| | | return baseDao.getReportRecord(level1NetworkId, column, teamgroupId); |
| | | } |
| | | |
| | | public List<DjJdgzTrackRecord> getName(Long level3NetworkId) { |
| | | return baseDao.getName(level3NetworkId); |
| | | } |
| | | |
| | | public List<DjJdgzTrackRecord> getRecordById(Long id) { |
| | | return baseDao.getRecordById(id); |
| | | } |
| | | } |