jiangping
2024-06-20 09da100729793848bc01b51f7b05ca3f1e7ec64f
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -147,6 +147,7 @@
            newVersion.setCheckDate(update.getEditDate());
            newVersion.setCheckUserId(update.getCheckUserId());
            newVersion.setCheckInfo(update.getCheckInfo());
            newVersion.setStatus(Constants.ZERO);
            newVersion.setCreateDate(update.getCreateDate());
            newVersion.setCreator(update.getEditor());
            newVersion.setBaseId(model.getId());
@@ -209,8 +210,12 @@
            for (DuWorktype w : worktypes) {
                if(Constants.equalsInteger(w.getStatus(),Constants.TWO)){
                    continue;
                }
                DuWorktype nw = new DuWorktype();
                BeanUtils.copyProperties(w, nw);
                nw.setCreateDate(new Date());
                nw.setCheckDate(update.getEditDate());
                nw.setStatus(Constants.ONE);
                nw.setDuSolutionId(ns.getId());
@@ -283,7 +288,6 @@
        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
        //删除其他待办
        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
        return  1;
    }
@@ -404,6 +408,7 @@
        }
        if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda()
                .ne(DispatchUnit::getId,saveDispatchUnitDTO.getId())
                .ne(DispatchUnit::getBaseId,saveDispatchUnitDTO.getId())
                .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName())
                .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
@@ -417,6 +422,11 @@
        dispatchUnit.setEditDate(new Date());
        dispatchUnit.setEditor(loginUserInfo.getId());
        dispatchUnitMapper.updateById(dispatchUnit);
        dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda().set(DispatchUnit::getDataType,Constants.ONE).eq(DispatchUnit::getBaseId,dispatchUnit.getId())
                .eq(DispatchUnit::getDataType,Constants.TWO)
        );
        //存储操作记录
        this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.EDIT_UNIT,null);
@@ -670,7 +680,20 @@
    @Override
    public void deleteById(Integer id) {
        dispatchUnitMapper.deleteById(id);
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(id);
        if(Objects.isNull(dispatchUnit)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(dispatchUnit.getUnitStatus().equals(Constants.TWO)){
            dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda()
                            .set(DispatchUnit::getEditor,loginUserInfo.getId())
                        .set(DispatchUnit::getEditDate,new Date())
                    .set(DispatchUnit::getIsdeleted,Constants.ONE)
                    .eq(DispatchUnit::getId,id));
        }else{
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前派遣单位状态无法进行该操作");
        }
    }
    @Override
@@ -690,6 +713,14 @@
    @Override
    public void updateById(DispatchUnit dispatchUnit) {
        dispatchUnitMapper.updateById(dispatchUnit);
        //更新历史表状态
        if(Objects.nonNull(dispatchUnit.getId())&& Objects.nonNull(dispatchUnit.getStatus())){
            dispatchUnitMapper.update(null,new UpdateWrapper<DispatchUnit>().lambda()
                    .set(DispatchUnit::getStatus,dispatchUnit.getStatus())
                    .eq(DispatchUnit::getDataType,Constants.TWO)
                    .eq(DispatchUnit::getBaseId,dispatchUnit.getId())
            );
        }
    }
    @Override
@@ -900,7 +931,7 @@
                new MPJLambdaWrapper<DispatchUnit>().selectAll(DispatchUnit.class)
                        .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
                        .eq(DispatchUnit::getStatus,Constants.ZERO)
                        .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId()+" limit 1) as du_solution_id" )
                        .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId()+"  order by b.CHECK_DATE desc  limit 1) as du_solution_id" )
                        .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                        .eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO)
                        .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())