whyclxw
2025-05-28 e16302f9d475c7cc4dd18c5abf1a23cb5502e362
src/main/java/com/whyc/service/FaultUploadService.java
@@ -1,14 +1,21 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.constant.RoleEnum;
import com.whyc.constant.UserConstant;
import com.whyc.constant.WorkflowEnum;
import com.whyc.dto.Response;
import com.whyc.mapper.FaultUploadMapper;
import com.whyc.pojo.BaoJiGroup;
import com.whyc.pojo.FaultUpload;
import com.whyc.pojo.UserInf;
import com.whyc.pojo.WorkflowMain;
import com.whyc.util.ActionUtil;
import com.whyc.util.DateUtil;
import com.whyc.util.ThreadLocalUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -28,14 +35,52 @@
    @Autowired
    private UserService userService;
    @Autowired
    private WorkflowMainService mainService;
    public Response add(FaultUpload fault) {
        int userId = ActionUtil.getUser().getUId().intValue();
        Date now = new Date();
        fault.setUploadUserId(userId);
        fault.setCreateTime(now);
        fault.setStatus(0);
        mapper.insert(fault);
        return new Response().setII(1,"上传完成");
        //校验,只能上传未上传过 或者 上传已被拒绝的 记录
        boolean enableUpload = checkRecord(fault);
        if(enableUpload) {
            int userId = ActionUtil.getUser().getUId().intValue();
            Date now = new Date();
            //主表提交,节点表提交
            int mainId = mainService.submit(fault.getDescription(),
                    WorkflowEnum.MAIN_TYPE_FAULT_UPLOAD.getValue(),
                    "告警隐患",
                    "GJYH",
                    userId,
                    RoleEnum.ADMIN.getId(),
                    now,
                    "P2");
            //关联上报表
            fault.setMainId(mainId);
            fault.setUploadUserId(userId);
            fault.setCreateTime(now);
            fault.setStatus(0);
            mapper.insert(fault);
            return new Response().set(1,true, "上传完成");
        }else {
            return new Response().set(1,false,"无法上传,已存在上传记录");
        }
    }
    //校验,只能上传未上传过 或者 上传已被拒绝的 记录
    private boolean checkRecord(FaultUpload fault) {
        boolean enableUpload = true;
        QueryWrapper<FaultUpload> query = Wrappers.query();
        query.eq("alarm_num",fault.getAlarmNum()).last(" limit 1");
        FaultUpload faultUploadDB = mapper.selectOne(query);
        if(faultUploadDB!=null){
            WorkflowMain main = mainService.getOne(faultUploadDB.getMainId());
            if(main.getStatus().intValue() == WorkflowEnum.MAIN_STATUS_DEALING.getValue()
                    || main.getStatus().intValue() == WorkflowEnum.MAIN_STATUS_END_PASS.getValue()
            ){
                enableUpload = false;
            }
        }
        return enableUpload;
    }
    public Response updateConfirm(FaultUpload fault) {
@@ -86,7 +131,9 @@
        Date now = new Date();
        String uploadStartTime = null;
        String uploadEndTime = null;
        if(timeType == 1){
        if(timeType == null) {
            //不操作
        }else if(timeType == 1){
            //本月
            Calendar monthStart = Calendar.getInstance();
            monthStart.setTime(now);
@@ -104,8 +151,10 @@
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
           /* uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());*/
            uploadStartTime = ThreadLocalUtil.format(monthStart.getTime(),1);
            uploadEndTime = ThreadLocalUtil.format(monthEnd.getTime(),1);
        }else if(timeType == 2){
            //本季度
            Calendar monthStart = Calendar.getInstance();
@@ -140,9 +189,11 @@
                monthStart.set(Calendar.MONTH,9);
                monthEnd.set(Calendar.MONTH,11);
            }
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
        }else{
           /* uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());*/
            uploadStartTime = ThreadLocalUtil.format(monthStart.getTime(),1);
            uploadEndTime =ThreadLocalUtil.format(monthEnd.getTime(),1);
        }else if(timeType ==3){
            //年度
            Calendar monthStart = Calendar.getInstance();
            monthStart.setTime(now);
@@ -161,8 +212,10 @@
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
            /*uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());*/
            uploadStartTime = ThreadLocalUtil.format(monthStart.getTime(),1);
            uploadEndTime = ThreadLocalUtil.format(monthEnd.getTime(),1);
        }
        upload.setUploadStartTime(uploadStartTime);
        upload.setUploadEndTime(uploadEndTime);
@@ -202,8 +255,10 @@
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
           /* uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());*/
            uploadStartTime = ThreadLocalUtil.format(monthStart.getTime(),1);
            uploadEndTime = ThreadLocalUtil.format(monthEnd.getTime(),1);
        }else if(timeType == 2){
            //本季度
            Calendar monthStart = Calendar.getInstance();
@@ -237,8 +292,10 @@
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
           /* uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());*/
            uploadStartTime = ThreadLocalUtil.format(monthStart.getTime(),1);
            uploadEndTime = ThreadLocalUtil.format(monthEnd.getTime(),1);
        }else{
            //年度
            Calendar monthStart = Calendar.getInstance();
@@ -256,8 +313,10 @@
            monthEnd.set(Calendar.MINUTE, 59);
            monthEnd.set(Calendar.SECOND, 59);
            uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
            //uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
            //uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
            uploadStartTime = ThreadLocalUtil.format(monthStart.getTime(),1);
            uploadEndTime =ThreadLocalUtil.format(monthEnd.getTime(),1);
        }
        upload.setUploadStartTime(uploadStartTime);
        upload.setUploadEndTime(uploadEndTime);
@@ -296,8 +355,10 @@
            instance.add(Calendar.DATE,-30);
        }
        upload.setUploadStartTime(DateUtil.YYYY_MM_DD_HH_MM_SS.format(instance.getTime()));
        upload.setUploadEndTime(DateUtil.YYYY_MM_DD_HH_MM_SS.format(now));
        /*upload.setUploadStartTime(DateUtil.YYYY_MM_DD_HH_MM_SS.format(instance.getTime()));
        upload.setUploadEndTime(DateUtil.YYYY_MM_DD_HH_MM_SS.format(now));*/
        upload.setUploadStartTime(ThreadLocalUtil.format(instance.getTime(),1));
        upload.setUploadEndTime(ThreadLocalUtil.format(now,1));
        List<FaultUpload> faultUploads = mapper.getList(userId, upload);
        //联查拆分,组装 用户名
        List<UserInf> users = userService.getAll();
@@ -311,6 +372,29 @@
    public Response getMyUploadStatusCount(int userId) {
        Map<String,Integer> map = new HashMap<>();
        FaultUpload upload = new FaultUpload();
        //年度
        Calendar monthStart = Calendar.getInstance();
        monthStart.set(Calendar.MONTH,0);
        monthStart.set(Calendar.DAY_OF_MONTH,1);
        monthStart.set(Calendar.HOUR_OF_DAY, 0);
        monthStart.set(Calendar.MINUTE, 0);
        monthStart.set(Calendar.SECOND, 0);
        Calendar monthEnd = Calendar.getInstance();
        //设置为1号,当前日期既为本月第一天
        monthEnd.set(Calendar.MONTH,11);
        monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
        monthEnd.set(Calendar.HOUR_OF_DAY, 23);
        monthEnd.set(Calendar.MINUTE, 59);
        monthEnd.set(Calendar.SECOND, 59);
        /*String uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
        String uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());*/
        String uploadStartTime =ThreadLocalUtil.format(monthStart.getTime(),1);
        String uploadEndTime = ThreadLocalUtil.format(monthEnd.getTime(),1);
        upload.setUploadStartTime(uploadStartTime);
        upload.setUploadEndTime(uploadEndTime);
        List<FaultUpload> list = mapper.getList(userId, upload);
        List<FaultUpload> confirmedList = list.stream().filter(temp -> temp.getStatus() == 1).collect(Collectors.toList());
        List<FaultUpload> myList = list.stream().filter(temp -> temp.getUploadUserId() == userId).collect(Collectors.toList());