lxw
2022-07-18 d5bcb7deecd599a752d62333b8dc976228498b55
Merge branch 'master' of http://118.89.139.230:10101/r/~whyclxw/CadDrawManager
1个文件已添加
8个文件已修改
225 ■■■■ 已修改文件
src/main/java/com/whyc/controller/LoginController.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/WorksheetLinkController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/WorksheetMainController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/WorksheetLink.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/WorksheetMain.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/DocUserService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/UserBridgeService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/WorksheetLinkService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/WorksheetMainService.java 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/LoginController.java
New file
@@ -0,0 +1,44 @@
package com.whyc.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.dto.Response;
import com.whyc.mapper.DocUserMapper;
import com.whyc.pojo.DocUser;
import com.whyc.service.DocUserService;
import com.whyc.util.ActionUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RequestMapping("login")
@RestController
@Api(tags = "登录")
public class LoginController {
    @Autowired
    private DocUserService userService;
    @Autowired
    private DocUserMapper userMapper;
    @PostMapping("/")
    @ApiOperation(value ="登录")
    public Response login(@RequestParam String name, String snId, HttpServletRequest request){
        return userService.login(name,snId,request);
    }
    @PutMapping("changeUser")
    @ApiOperation(value = "切换用户")
    public boolean changeUser(@RequestParam Long userId){
        QueryWrapper<DocUser> query = Wrappers.query();
        query.eq("id",userId).last(" limit 1");
        DocUser userInf = userMapper.selectOne(query);
        ActionUtil.getSession().setAttribute("user",userInf);
        return true;
    }
}
src/main/java/com/whyc/controller/WorksheetLinkController.java
@@ -10,7 +10,7 @@
@RestController
@RequestMapping("worksheetLink")
@Api(tags = "工单流程")
@Api(tags = "工作流")
public class WorksheetLinkController {
    @Autowired
src/main/java/com/whyc/controller/WorksheetMainController.java
@@ -14,29 +14,34 @@
@RestController
@RequestMapping("worksheetMain")
@Api(tags = "工单流程")
@Api(tags = "工作流")
public class WorksheetMainController {
    @Autowired
    private WorksheetMainService service;
    @PostMapping("submit")
    @ApiOperation("工单提交")
    @ApiOperation("图纸提交")
    public Response submit(@RequestBody WorksheetMain main){
        service.submit(main);
        return new Response().setII(1,"工单提交完成");
        DocUser user = ActionUtil.getUser();
        boolean res = service.submit(main,user);
        if(res) {
            return new Response().set(1,true, "提交完成");
        }else{
            return new Response().set(1,false,"角色无法提交图纸");
        }
    }
    @GetMapping("list")
    @ApiOperation("获取工单流程-用户对应的待处理/已处理/已提交/已驳回")
    @ApiOperation("获取工作流-各角色用户对应的工作台数据分类")
    public Response getList(){
        DocUser user = ActionUtil.getUser();
        Map<String,WorksheetMain> map = service.getList();
        Map<String,WorksheetMain> map = service.getList(user);
        return new Response().set(1,map);
    }
    @GetMapping("linkInfo")
    @ApiOperation("获取工单流程-单个工单信息流")
    @ApiOperation("获取工作流-单个信息流")
    public Response getLinkList(@RequestParam int id){
        WorksheetMain main = service.getLinkList(id);
        return  new Response().set(1,main);
src/main/java/com/whyc/pojo/WorksheetLink.java
@@ -15,7 +15,7 @@
    /**父节点id*/
    private Integer  parentId;
    /**处理人*/
    private Integer  dealUserId;
    private Long dealUserId;
    /**
     * 处理类型(父节点到当前子节点的处理类型):
     * 0:驳回(员工处理中)
@@ -47,7 +47,7 @@
    /**流程的下个处理人*/
    @TableField(exist = false)
    private Integer nextUser;
    private Long nextUser;
    @TableField(exist = false)
    private DocUser dealUser;
@@ -76,11 +76,11 @@
        this.parentId = parentId;
    }
    public Integer getDealUserId() {
    public Long getDealUserId() {
        return dealUserId;
    }
    public void setDealUserId(Integer dealUserId) {
    public void setDealUserId(Long dealUserId) {
        this.dealUserId = dealUserId;
    }
@@ -148,11 +148,11 @@
        this.dealTime = dealTime;
    }
    public Integer getNextUser() {
    public Long getNextUser() {
        return nextUser;
    }
    public void setNextUser(Integer nextUser) {
    public void setNextUser(Long nextUser) {
        this.nextUser = nextUser;
    }
src/main/java/com/whyc/pojo/WorksheetMain.java
@@ -18,7 +18,7 @@
    /**工单文件路径*/
    private String file;
    /**工单创建人id*/
    private Integer   createUserId;
    private Long   createUserId;
    /**工单开始时间*/
    private Date  beginTime;
    /**工单结束时间*/
@@ -27,7 +27,7 @@
    private Integer level;
    /**
     * 工单状态:
     * 0:员工处理中
     * 0:员工处理中(已驳回)
     * 1:经理处理中
     * 2:总经理处理中
     * 5:归档
@@ -38,7 +38,7 @@
    /**流程的下个处理人*/
    @TableField(exist = false)
    private Integer nextUser;
    private Long nextUser;
    /**提交人的意见描述*/
    @TableField(exist = false)
@@ -81,11 +81,11 @@
        this.file = file;
    }
    public Integer getCreateUserId() {
    public Long getCreateUserId() {
        return createUserId;
    }
    public void setCreateUserId(Integer createUserId) {
    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }
@@ -121,11 +121,11 @@
        this.endReason = endReason;
    }
    public Integer getNextUser() {
    public Long getNextUser() {
        return nextUser;
    }
    public void setNextUser(Integer nextUser) {
    public void setNextUser(Long nextUser) {
        this.nextUser = nextUser;
    }
src/main/java/com/whyc/service/DocUserService.java
@@ -10,11 +10,18 @@
import com.whyc.dto.Response;
import com.whyc.mapper.DocUserMapper;
import com.whyc.pojo.DocUser;
import com.whyc.util.ActionUtil;
import com.whyc.util.RSAUtil;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.system.ApplicationHome;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.List;
@@ -97,4 +104,29 @@
        int bl=mapper.delete(wrapper);
        return new Response().setII(1,bl>0?true:false,bl,"删除返回");
    }
    public Response login(String name, String snId, HttpServletRequest request) {
        Response response = new Response();
        String[] dataArr = RSAUtil.decryptFrontP(snId, RSAUtil.fontSeparator);
        //验签md5
        if (!dataArr[1].equals(ActionUtil.EncryptionMD5(org.apache.commons.lang3.StringUtils.trim(dataArr[0])).toString())) {
            return response.set(1, false, "密码验签失败");
        }
        UsernamePasswordToken userToken = new UsernamePasswordToken(name, dataArr[0]);
        Subject subject = SecurityUtils.getSubject();
        try {
            subject.login(userToken);
        } catch (Exception e) {
            if(e instanceof UnknownAccountException){
                return response.set(1,false,"账号不存在");
            }
            return response.set(1,false,"密码错误");
        }
        //登录成功
        //Session存储当前用户及权限组列表
        DocUser userDB = (DocUser) subject.getPrincipal();
        userDB.setSnId(null);
        request.getSession().setAttribute("user", userDB);
        return response.setII(1,true, userDB,"登录成功");
    }
}
src/main/java/com/whyc/service/UserBridgeService.java
@@ -31,7 +31,7 @@
    public DocUser findPasswordByUserName(String userName) {
        DocUser userInf = null;
        QueryWrapper<DocUser> queryWrapper = Wrappers.query();
        queryWrapper.select("uId","uName","upassword","UKey_ID","uRole","uSex","uMobilephone","uEmail","uAddr","uDepartment","uBirthDay").eq("uName",userName);
        queryWrapper.select("id","name","sn_id","role_id").eq("name",userName);
        userInf = userMapper.selectOne(queryWrapper);
        return userInf==null?new DocUser(0L,"用户不存在"):userInf;
src/main/java/com/whyc/service/WorksheetLinkService.java
@@ -26,7 +26,7 @@
        if(link.getLinkStatus() == 2){ //驳回
            //驳回到员工进行处理
            //查询工单的员工
            Integer createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId();
            Long createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId();
            WorksheetLink link2 = new WorksheetLink();
            link2.setMainId(link.getMainId());
            link2.setParentId(link.getId());
@@ -62,7 +62,7 @@
        if(link.getLinkStatus() == 2){ //驳回
            //驳回到员工进行处理
            //查询工单的员工
            Integer createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId();
            Long createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId();
            WorksheetLink link2 = new WorksheetLink();
            link2.setMainId(link.getMainId());
            link2.setParentId(link.getId());
src/main/java/com/whyc/service/WorksheetMainService.java
@@ -1,12 +1,19 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.whyc.mapper.DocUserMapper;
import com.whyc.mapper.WorksheetLinkMapper;
import com.whyc.mapper.WorksheetMainMapper;
import com.whyc.pojo.DocUser;
import com.whyc.pojo.WorksheetLink;
import com.whyc.pojo.WorksheetMain;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@@ -18,20 +25,52 @@
    @Resource
    private WorksheetLinkMapper linkMapper;
    public void submit(WorksheetMain main) {
        //提交工单主表
        main.setStatus(1);
        mainMapper.insert(main);
        //提交工单子表
        WorksheetLink link =new WorksheetLink();
        link.setMainId(main.getId());
        link.setParentId(0);
        link.setDealUserId(main.getNextUser());
        link.setDealType(1);
        link.setDealDesc(main.getDealDesc());
        link.setLinkStatus(0);
        link.setEnableArchive(0);
        linkMapper.insert(link);
    @Resource
    private DocUserMapper userMapper;
    @Transactional
    public boolean submit(WorksheetMain main, DocUser user) {
        //提交主表
        main.setCreateUserId(user.getId());
        //提交人角色来判断工作流层级
        if(user.getRoleId().equals("1001")){
            main.setLevel(2);
            main.setStatus(1);
            mainMapper.insert(main);
            //提交子表
            WorksheetLink link =new WorksheetLink();
            link.setMainId(main.getId());
            link.setParentId(0);
            link.setDealUserId(main.getNextUser());
            link.setDealType(1);
            link.setDealDesc(main.getDealDesc());
            link.setLinkStatus(0);
            link.setEnableArchive(0);
            linkMapper.insert(link);
        }
        else if(user.getRoleId().equals("1002")){
            main.setLevel(1);
            main.setStatus(2);
            mainMapper.insert(main);
            //提交子表
            WorksheetLink link =new WorksheetLink();
            link.setMainId(main.getId());
            link.setParentId(0);
            link.setDealUserId(main.getNextUser());
            link.setDealType(2);
            link.setDealDesc(main.getDealDesc());
            link.setLinkStatus(0);
            link.setEnableArchive(1);
            linkMapper.insert(link);
        }
        else if(user.getRoleId().equals("1003")){
            main.setLevel(0);
            main.setStatus(5);
            mainMapper.insert(main);
        }else{
            return false;
        }
        return true;
    }
    public WorksheetMain getInfoById(Integer id) {
@@ -53,7 +92,34 @@
        mainMapper.updateById(main);
    }
    public Map<String, WorksheetMain> getList() {
    /**用户对应的工作台数据分类
     * @param user TODO*/
    public Map<String, WorksheetMain> getList(DocUser user) {
        Map<String,WorksheetMain> map = new HashMap<>();
        switch (user.getRoleId()){
            //普通员工
            case "1001":
                {
                    //未处理/已驳回/已审批
                    QueryWrapper<WorksheetMain> query = Wrappers.query();
                    query.eq("create_user_id",user.getId());
                    List<WorksheetMain> worksheetMainList = mainMapper.selectList(query);
                }
                break;
            //项目经理
            case "1002":
                {
                    //待处理/未处理/已驳回/已审批
                }
                break;
            //总经理
            case "1003":
                {
                    //待处理/已审批
                }
                break;
        }
        return null;
    }