whycxzp
2022-08-01 e702e66510fe59890e9a38ab528bca14bb662e2c
src/main/java/com/whyc/service/WorksheetLinkService.java
@@ -43,21 +43,19 @@
        //更新节点信息
        linkMapper.updateById(link);
        if(link.getLinkStatus() == 2){ //驳回
            //驳回到员工进行处理
            //查询工单的员工
            Long 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);
            link2.setRejectVersion(link.getRejectVersion());
            linkMapper.insert(link2);
            //更新主表状态
            mainService.updateStatusById(link.getMainId(),0);
            //项目经理驳回,驳回即终止
            mainService.updateEndStatusById(link.getMainId(),"经理驳回,驳回原因:"+link.getDealReason(),0);
            //项目经理驳回前,还曾经过总经理,则需要增加总经理驳回原因
            if(link.getParentId()!=0) {
                QueryWrapper<WorksheetLink> query = Wrappers.query();
                query.eq("parent_id", link.getParentId());
                WorksheetLink parentLink = linkMapper.selectOne(query);
                if (parentLink.getDealUserId() == 1003) {
                    mainService.updateEndStatusById(link.getMainId(),
                            "经理驳回,驳回原因:" + link.getDealReason() + ";总经理驳回,驳回原因:" + parentLink.getDealReason(),
                            0);
                }
            }
        }else{
            //进入下一节点,总经理审批
            WorksheetLink link2 = new WorksheetLink();
@@ -81,21 +79,25 @@
        //更新节点信息
        linkMapper.updateById(link);
        if(link.getLinkStatus() == 2){ //驳回
            //驳回到员工进行处理
            //查询对应的项目经理
            Long createUserId = linkMapper.selectById(link.getParentId()).getDealUserId();
            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);
            link2.setRejectVersion(link.getRejectVersion());
            linkMapper.insert(link2);
            //更新主表状态
            mainService.updateStatusById(link.getMainId(),1);
            if(link.getParentId()!=0) {
                //查询对应的项目经理
                Long createUserId = linkMapper.selectById(link.getParentId()).getDealUserId();
                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);
                link2.setRejectVersion(link.getRejectVersion());
                linkMapper.insert(link2);
                //更新主表状态
                mainService.updateStatusById(link.getMainId(), 1);
            }else{
                //说明是项目经理提交的,驳回即终止
                mainService.updateEndStatusById(link.getMainId(),"总经理驳回,驳回原因:"+link.getDealReason(),0);
            }
        }else{
            //审批通过,更新主表状态
            mainService.updateEndStatusById(link.getMainId(),"完结",5);
@@ -151,7 +153,7 @@
                his.setThickness(approvingBom.getThickness());
                his.setType(approvingBom.getType());
                his.setUnit(approvingBom.getUnit());
                his.setUpUser(approvingBom.getUpUser());
                his.setUpUserId(approvingBom.getUpUserId());
                newHistoryList.add(his);
            });