jinlin
3 天以前 a3fe79e605b07a5a908599aaa830a0860e9423d2
src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
@@ -1,5 +1,6 @@
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;
@@ -58,7 +59,7 @@
    private SysTeamGroupClassService sysTeamGroupClassService;
    public List<DjJdgzTrackRecord> getList(Long level1NetworkId, Long deptId, Long teamId, Long cabinId, String type, Integer status,Integer isealCabin, 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");
@@ -66,7 +67,7 @@
        if (isTyRole.equals(true) || isYwzRole.equals(true)) {
            userId =  UserContext.getUser().getId();
        }*/
        List<DjJdgzTrackRecord> list = baseDao.getList(level1NetworkId, deptId, teamId, cabinId, type, status, isealCabin,name);
        List<DjJdgzTrackRecord> list = baseDao.getList(level1NetworkId, deptId, teamId, cabinId, type, status, isealCabin, name);
        /*if (list != null && list.size() > 0) {
            sysOssService.setListOsses(list, "ProjectProgressFileUpload");
        }*/
@@ -76,18 +77,6 @@
                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;
@@ -102,63 +91,75 @@
        super.deleteLogic(ids);
    }
    public Long save(DjJdgzTrackRecord djJdgzTrackRecord,String type) {
    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 && type.equals("save")) {
            //时间比较
            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);
@@ -206,8 +207,8 @@
        if (isTyRole.equals(true) || isYwzRole.equals(true)) {
            userId = UserContext.getUser().getId();
        }*/
        int weekNo = this.getWeekNo(level1NetworkId);
        List<DjJdgzTrackRecord> data = baseDao.prompt(level1NetworkId, weekNo, userId,deptId,teamId,name);
        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 + "周未完成");
@@ -219,8 +220,6 @@
                            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, "线下");
@@ -295,7 +294,8 @@
        }
    }
    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);
    }
@@ -387,7 +387,8 @@
                    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());
@@ -472,6 +473,7 @@
                }
                if (StringUtils.isNotBlank(trackPersonContact)) {
                    trackPersonContact = TranslateToPlainStrUtils.translateToPlainStr(trackPersonContact);
                    data.setTrackPersonContact(trackPersonContact);
                }
@@ -484,6 +486,7 @@
                }
                if (StringUtils.isNotBlank(trackedPersonContact)) {
                    trackedPersonContact = TranslateToPlainStrUtils.translateToPlainStr(trackedPersonContact);
                    data.setTrackedPersonContact(trackedPersonContact);
                }
@@ -495,6 +498,7 @@
                }
                if (StringUtils.isNotBlank(generalRepairUnitContact)) {
                    generalRepairUnitContact = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnitContact);
                    data.setGeneralRepairUnitContact(generalRepairUnitContact);
                }
                if (StringUtils.isNotBlank(generalRepairUnitDirector)) {
@@ -504,6 +508,7 @@
                    data.setRepairUnit(repairUnit);
                }
                if (StringUtils.isNotBlank(generalRepairUnit)) {
                    generalRepairUnit = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnit);
                    data.setRepairUnitContact(repairUnitContact);
                }
                if (StringUtils.isNotBlank(generalRepairUnit)) {
@@ -511,15 +516,7 @@
                }
                if (!isErr) {
                    Long oldId = baseDao.getIsExit(data.getLevel3NetworkId(),data.getProcessName());
                    if (oldId!=null) {
                        data.setId(oldId);
                        data.setIsUpdate(true);
                    }else{
                        data.setIsUpdate(false);
                    }
                    this.save(data,"import");
                    this.save(data, "import");
                }
                if (isErr) {
                    err++;
@@ -543,4 +540,12 @@
    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);
    }
}