whyclxw
2024-08-16 7144421aaf7c2efcca8b101d680556b3e1581a1a
单体计划
3个文件已修改
4个文件已添加
257 ■■■■■ 已修改文件
src/main/java/com/whyc/aop/OperationLogAspect.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/constant/OperationLogEnum.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/MonPlanController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/MonPlanMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/MonPlan.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/MonPlanService.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/ActionUtil.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/aop/OperationLogAspect.java
@@ -106,15 +106,19 @@
                type2 = OperationLogEnum.TYPE_2_USER_UPDATE_PASSWORD.getType();
                operationTypeName = OperationLogEnum.TYPE_2_USER_UPDATE_PASSWORD.getName();
            }
        }
        else if(classNameTrue.contains("Alarm")
        }else if(classNameTrue.contains("Alarm")
                ||classNameTrue.contains("Alm")){ //告警设置
            if(methodName.startsWith("update")){
                type1 = OperationLogEnum.TYPE_1_SERVICE.getType();
                type2 = OperationLogEnum.TYPE_2_ALARM.getType();
                operationTypeName = OperationLogEnum.TYPE_2_ALARM.getName();
            }
        }else if(classNameTrue.contains("plan")){
            if(methodName.startsWith("static")){//统计计划
                type1 = OperationLogEnum.TYPE_1_SERVICE.getType();
                type2 = OperationLogEnum.TYPE_2_PLAN_MON.getType();
                operationTypeName = OperationLogEnum.TYPE_2_PLAN_MON.getName();
            }
        }
        // TODO else if()
src/main/java/com/whyc/constant/OperationLogEnum.java
@@ -30,6 +30,8 @@
    TYPE_2_POWER_MODE_CONTROL(208,"电源设备模块控制操作"),
    TYPE_2_POWER_MODE_PARAM(209,"电源设备模块参数操作"),
    TYPE_2_PLAN_MON(210,"单体计划统计操作"),
    ;
    private Integer type;
src/main/java/com/whyc/controller/MonPlanController.java
New file
@@ -0,0 +1,41 @@
package com.whyc.controller;
import com.whyc.dto.Response;
import com.whyc.pojo.MonPlan;
import com.whyc.service.MonPlanService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RequestMapping("plan")
@RestController
@Api(tags = "备用蓄电池计划任务管理")
public class MonPlanController {
    @Autowired
    private MonPlanService service;
    @GetMapping("staticPlan")
    @ApiOperation("统计计划")
    public Response staticPlan(){
        return service.staticPlan();
    }
    @GetMapping("getPlan")
    @ApiOperation("查询计划")
    public Response getPlan(@RequestParam(required = false) Integer type,@RequestParam(required = false) Integer state,@RequestParam int pageNum,@RequestParam int pageSize){
        return service.getPlan(type,state,pageNum,pageSize);
    }
    @GetMapping("getStartingPlan")
    @ApiOperation("查询正在进行的计划")
    public Response getStartingPlan(){
        return service.getStartingPlan();
    }
    @GetMapping("addPlan")
    @ApiOperation("添加计划")
    public Response addPlan(@RequestBody MonPlan monPlan){
        return service.addPlan(monPlan);
    }
}
src/main/java/com/whyc/mapper/MonPlanMapper.java
New file
@@ -0,0 +1,6 @@
package com.whyc.mapper;
import com.whyc.pojo.MonPlan;
public interface MonPlanMapper extends CustomMapper<MonPlan>{
}
src/main/java/com/whyc/pojo/MonPlan.java
New file
@@ -0,0 +1,89 @@
package com.whyc.pojo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@ApiModel(value="单体", description="")
@TableName(schema = "db_batt",value = "mon_plan")
public class MonPlan {
    @TableField("num")
    @ApiModelProperty("主键num")
    private Integer num;
    @TableField("mon_id")
    @ApiModelProperty("单体编号")
    private Integer monId;
    @TableField("plan_type")
    @ApiModelProperty("计划类型:0报废,1转运,2入库,3出库")
    private Integer planType;
    @TableField("plan_state")
    @ApiModelProperty("计划状态:0未开始,1进行中,2完成,3失败")
    private Integer planState;
    @TableField("plan_rate")
    @ApiModelProperty("计划进度百分比")
    private Float planRate;
    @TableField("start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("计划开始时间")
    private Date startTime;
    @TableField("stop_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("计划结束时间")
    private Date stopTime;
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("计划创建时间")
    private Date createTime;
    @TableField("create_user_id")
    @ApiModelProperty("创建人id")
    private Integer createUserId;
    @TableField("create_user_name")
    @ApiModelProperty("创建人名")
    private String createUserName;
    @TableField("old_row")
    @ApiModelProperty("原层")
    private String oldRow;
    @TableField("oldCol")
    @ApiModelProperty("原列")
    private String oldCol;
    @TableField("old_addres_num")
    @ApiModelProperty("原库位编号")
    private String oldAddresNum;
    @TableField("new_row")
    @ApiModelProperty("新层")
    private String newRow;
    @TableField("new_col")
    @ApiModelProperty("新列")
    private String newCol;
    @TableField("new_addres_num")
    @ApiModelProperty("新库位编号")
    private String newAddresNum;
}
src/main/java/com/whyc/service/MonPlanService.java
New file
@@ -0,0 +1,91 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.mapper.MonPlanMapper;
import com.whyc.pojo.MonPlan;
import com.whyc.pojo.StationInf;
import com.whyc.pojo.UserInf;
import com.whyc.util.ActionUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class MonPlanService {
    @Resource
    private MonPlanMapper mapper;
    //统计计划
    public Response staticPlan() {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.orderByAsc("num");
        List<MonPlan> list=mapper.selectList(wrapper);
        //按照状态统计
        Map<Integer, List<MonPlan>> stateMonMap=list.stream().collect(Collectors.groupingBy(MonPlan::getPlanState));
        //按照类型统计
        Map<Integer, List<MonPlan>> typeMonMap=list.stream().collect(Collectors.groupingBy(MonPlan::getPlanType));
        Map<Integer, Object> stateMap = new HashMap<>();
        stateMap.put(0,0);
        stateMap.put(1,0);
        stateMap.put(2,0);
        stateMap.put(3,0);
        Map<Integer, Object> typeMap = new HashMap<>();
        typeMap.put(0,0);
        typeMap.put(1,0);
        typeMap.put(2,0);
        typeMap.put(3,0);
        for (Integer state : stateMonMap.keySet()) {
            stateMap.put(state, stateMonMap.get(state).size());
        }
        for (Integer type : typeMonMap.keySet()) {
            typeMap.put(type, typeMonMap.get(type).size());
        }
        Map<String,Object> map=new HashMap<>();
        map.put("state",stateMap);
        map.put("type",typeMap);
        return new Response().setII(1,true,map,"统计计划");
    }
    //查询计划
    public Response getPlan(Integer type, Integer state, int pageNum, int pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        QueryWrapper wrapper=new QueryWrapper();
        if(type!=null){
            wrapper.eq("plan_type",type);
        }
        if(state!=null){
            wrapper.eq("plan_state",state);
        }
        wrapper.orderByAsc("num");
        List<MonPlan> list=mapper.selectList(wrapper);
        PageInfo pageInfo=new PageInfo(list);
        return new Response().setII(1,list!=null,pageInfo,"查询计划");
    }
    //查询正在进行的计划
    public Response getStartingPlan() {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("plan_state",1);
        wrapper.orderByAsc("num");
        List<MonPlan> list=mapper.selectList(wrapper);
        return new Response().setII(1,list!=null,list,"查询计划");
    }
    //添加计划
    public Response addPlan(MonPlan monPlan) {
        UserInf uinf= ActionUtil.getUser();
        monPlan.setCreateUserId(uinf.getUid());
        monPlan.setCreateUserName(uinf.getUname());
        monPlan.setCreateTime(new Date());
        monPlan.setPlanState(0);
        int flag=mapper.insert(monPlan);
        return new Response().set(1,flag>0);
    }
}
src/main/java/com/whyc/util/ActionUtil.java
@@ -3,6 +3,7 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonSyntaxException;
import com.whyc.pojo.UserInf;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import sun.misc.BASE64Decoder;
@@ -524,4 +525,21 @@
        }
        return lang;
    }
    /**
     *
     * @return 获取当前session 中的用户对象
     */
    public static UserInf getUser(){
        HttpSession session =getSession();
        Object obj=session.getAttribute("user");
        UserInf userInf = new UserInf();
        if(obj==null){
            userInf.setUname("未登录的用户账号");
            userInf.setUid(0);
        }else{
            userInf=(UserInf) session.getAttribute("user");
        }
        return userInf;
    }
}