lxw
2022-07-14 f349c89f870f15c7c15dd9c463092f0544b8dca3
Merge branch 'master' of http://118.89.139.230:10101/r/~whyclxw/CadDrawManager
1个文件已添加
4个文件已修改
170 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/WorksheetLinkController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/WorksheetLink.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/WorksheetMain.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/WorksheetLinkService.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/WorksheetMainService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/WorksheetLinkController.java
@@ -1,11 +1,42 @@
package com.whyc.controller;
import com.whyc.dto.Response;
import com.whyc.pojo.WorksheetLink;
import com.whyc.service.WorksheetLinkService;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("worksheetLink")
@Api(tags = "工单流程")
public class WorksheetLinkController {
    @Autowired
    private WorksheetLinkService service;
    /**
     * @param link linkStatus:1通过,2驳回,驳回到员工
     * @return
     */
    @PostMapping("audit")
    @ApiOperation(value = "经理审核",notes = "传参:int id,int linkStatus,String dealReason,int mainId;" +
            "linkStatus:1通过,2驳回;dealReason:审核意见")
    public Response audit(@RequestBody WorksheetLink link){
        service.audit(link);
        return new Response().setII(1,"审核完成");
    }
    @PostMapping("approve")
    @ApiOperation(value = "总经理审批",notes = "传参:int id,int linkStatus,String dealReason,int mainId;" +
            "linkStatus:1通过,2驳回,驳回到员工,通知经理;dealReason:审核意见")
    public Response approve(@RequestBody WorksheetLink link){
        service.approve(link);
        return new Response().setII(1,"审批完成");
    }
}
src/main/java/com/whyc/pojo/WorksheetLink.java
@@ -1,5 +1,6 @@
package com.whyc.pojo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.ibatis.type.Alias;
@@ -17,10 +18,9 @@
    private Integer  dealUserId;
    /**
     * 处理类型(父节点到当前子节点的处理类型):
     * 1:提交审核
     * 2:同级移交
     * 3:驳回
     * 4:审核(经理)
     * 0:驳回(员工处理中)
     * 1:提交审核(经理处理中)
     * 2:审核通过(总经理处理中)
     * */
    private Integer  dealType;
    /**处理描述*/
@@ -32,15 +32,22 @@
    /**
     * 节点状态:
     * 0:待处理
     * 1:已处理
     * 1:已通过
     * 2:已驳回
     *
     * */
    private Integer  linkStatus;
    /**能否归档*/
    private Integer  enableArchive;
    /**节点创建时间*/
    private Date createTime;
    /**节点处理时间*/
    private Date  dealTime;
    /**流程的下个处理人*/
    @TableField(exist = false)
    private Integer nextUser;
    public Integer getId() {
        return id;
@@ -137,4 +144,12 @@
    public void setDealTime(Date dealTime) {
        this.dealTime = dealTime;
    }
    public Integer getNextUser() {
        return nextUser;
    }
    public void setNextUser(Integer nextUser) {
        this.nextUser = nextUser;
    }
}
src/main/java/com/whyc/pojo/WorksheetMain.java
@@ -24,6 +24,14 @@
    private Date endTime;
    /**工单级别*/
    private Integer level;
    /**
     * 工单状态:
     * 0:员工处理中
     * 1:经理处理中
     * 2:总经理处理中
     * 5:归档
     * */
    private Integer status;
    /**工单结束意见*/
    private String endReason;
    /**子表id*/
@@ -133,4 +141,12 @@
    public void setDealDesc(String dealDesc) {
        this.dealDesc = dealDesc;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
}
src/main/java/com/whyc/service/WorksheetLinkService.java
New file
@@ -0,0 +1,82 @@
package com.whyc.service;
import com.whyc.mapper.WorksheetLinkMapper;
import com.whyc.pojo.WorksheetLink;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
@Service
public class WorksheetLinkService {
    @Resource
    private WorksheetMainService mainService;
    @Resource
    private WorksheetLinkMapper linkMapper;
    @Transactional
    public void audit(WorksheetLink link) {
        link.setDealTime(new Date());
        //更新节点信息
        linkMapper.updateById(link);
        if(link.getLinkStatus() == 2){ //驳回
            //驳回到员工进行处理
            //查询工单的员工
            Integer createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId();
            WorksheetLink link2 = new WorksheetLink();
            link2.setMainId(link.getMainId());
            link2.setParentId(link.getId());
            link2.setDealUserId(createUserId);
            link2.setDealType(0);
            link2.setDealDesc("工单被经理驳回,驳回信息:"+link.getDealReason());
            link2.setLinkStatus(0);
            link2.setEnableArchive(0);
            linkMapper.insert(link2);
            //更新主表状态
            mainService.updateStatusById(link.getMainId(),0);
        }else{
            //进入下一节点,总经理审批
            WorksheetLink link2 = new WorksheetLink();
            link2.setMainId(link.getMainId());
            link2.setParentId(link.getId());
            link2.setDealUserId(link.getNextUser());
            link2.setDealType(2);
            link2.setDealDesc("工单被经理审核通过,信息:"+link.getDealReason());
            link2.setLinkStatus(0);
            link2.setEnableArchive(1);
            linkMapper.insert(link2);
            //更新主表状态
            mainService.updateStatusById(link.getMainId(),2);
        }
    }
    @Transactional
    public void approve(WorksheetLink link) {
        link.setDealTime(new Date());
        //更新节点信息
        linkMapper.updateById(link);
        if(link.getLinkStatus() == 2){ //驳回
            //驳回到员工进行处理
            //查询工单的员工
            Integer createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId();
            WorksheetLink link2 = new WorksheetLink();
            link2.setMainId(link.getMainId());
            link2.setParentId(link.getId());
            link2.setDealUserId(createUserId);
            link2.setDealType(0);
            link2.setDealDesc("工单被经理驳回,驳回信息:"+link.getDealReason());
            link2.setLinkStatus(0);
            link2.setEnableArchive(0);
            linkMapper.insert(link2);
            //更新主表状态
            mainService.updateStatusById(link.getMainId(),0);
        }else{
            //审批通过,更新主表状态
            mainService.updateStatusById(link.getMainId(),5);
        }
    }
}
src/main/java/com/whyc/service/WorksheetMainService.java
@@ -19,6 +19,7 @@
    public void submit(WorksheetMain main) {
        //提交工单主表
        main.setStatus(1);
        mainMapper.insert(main);
        //提交工单子表
        WorksheetLink link =new WorksheetLink();
@@ -31,4 +32,15 @@
        link.setEnableArchive(0);
        linkMapper.insert(link);
    }
    public WorksheetMain getInfoById(Integer id) {
        return mainMapper.selectById(id);
    }
    public void updateStatusById(Integer id,Integer status) {
        WorksheetMain main = new WorksheetMain();
        main.setId(id);
        main.setStatus(status);
        mainMapper.updateById(main);
    }
}