k94314517
2025-05-19 cdd6551b190b981b807a3b95e9635c559ccc769d
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());
@@ -184,6 +185,7 @@
        for (DuSolution s : solutions){
            DuSolution ns = new DuSolution();
            BeanUtils.copyProperties(s, ns);
            ns.setId(null);
            ns.setDispatchUnitId(newVersion.getId());
            ns.setCheckDate(update.getEditDate());
            ns.setStatus(Constants.ONE);
@@ -209,8 +211,13 @@
            for (DuWorktype w : worktypes) {
                if(Constants.equalsInteger(w.getStatus(),Constants.TWO)){
                    continue;
                }
                DuWorktype nw = new DuWorktype();
                BeanUtils.copyProperties(w, nw);
                nw.setId(null);
                nw.setCreateDate(new Date());
                nw.setCheckDate(update.getEditDate());
                nw.setStatus(Constants.ONE);
                nw.setDuSolutionId(ns.getId());
@@ -284,7 +291,6 @@
        //删除其他待办
        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,dispatchUnit.getId()));
        return  1;
    }
    @Override
@@ -301,6 +307,7 @@
                .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName())
                .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
                .eq(DispatchUnit::getDataType,Constants.ZERO)
        )> Constants.ZERO){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【派遣单位名称】已存在");
        };
@@ -408,6 +415,7 @@
                .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                .eq(DispatchUnit::getName,saveDispatchUnitDTO.getName())
                .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
                .eq(DispatchUnit::getDataType,Constants.ZERO)
        )> Constants.ZERO){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【派遣单位名称】已存在");
        };
@@ -492,7 +500,7 @@
            DuSolution duSolution = duSolutionMapper.selectOne(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDispatchUnitDTO.getId())
                    .eq(DuSolution::getIsdeleted,Constants.ZERO)
                    .eq(DuSolution::getSolutionId,saveDuSolutionDTO.getSolutionId()).last("limit 1"));
            Integer duSolutionNum = duSolutionMapper.selectCount(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDuSolutionDTO.getId()));
            Integer duSolutionNum = duSolutionMapper.selectCount(new QueryWrapper<DuSolution>().lambda().eq(DuSolution::getDispatchUnitId,saveDuSolutionDTO.getId())).intValue();
            if(Objects.isNull(duSolution)){
                duSolution = new DuSolution();
                duSolution.setCreateDate(new Date());
@@ -524,7 +532,7 @@
                        .eq(DuWorktype::getWorkTypeId,saveDuWorkTypeDTO.getWorkTypeId()))>0){
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"【"+saveDuSolutionDTO.getSolutionName()+"】该方案下"+saveDuWorkTypeDTO.getWorkTypeName()+"该工种已存在");
                }
                Integer duWorkTypeNum = duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId()));
                Integer duWorkTypeNum = duWorktypeMapper.selectCount(new QueryWrapper<DuWorktype>().lambda().eq(DuWorktype::getDuSolutionId,duSolution.getId())).intValue();
                DuWorktype duWorktype = new DuWorktype();
                duWorktype.setCreateDate(new Date());
                duWorktype.setCreator(loginUserInfo.getId());
@@ -709,6 +717,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
@@ -866,7 +882,9 @@
                        .selectAll(DuSolution.class)
                        .selectAs(Solutions::getName,DuSolution::getSolutionName)
                        .leftJoin(Solutions.class,Solutions::getId,DuSolution::getSolutionId)
                        .leftJoin(CompanySolution.class,CompanySolution::getSolutionId,Solutions::getId)
                        .eq(DuSolution::getDispatchUnitId,dispatchUnit.getId())
                        .eq(CompanySolution::getCompanyId,dispatchUnit.getCompanyId())
                        .orderByAsc(DuSolution::getSortnum)
        );
        if(CollectionUtils.isNotEmpty(duSolutionList)){
@@ -921,6 +939,7 @@
                        .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()+"  order by b.CHECK_DATE desc  limit 1) as du_solution_id" )
                        .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                        .eq(Objects.nonNull(dispatchUnitQueryDTO.getCompanyId()),DispatchUnit::getCompanyId,dispatchUnitQueryDTO.getCompanyId())
                        .eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO)
                        .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
                        .exists(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),