bug
jiangping
2023-12-06 1f4e7d0f73a73e7350cf5a1df279d5f30904c5d5
server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java
@@ -1,20 +1,33 @@
package doumeemes.service.business.impl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import doumeemes.core.constants.ResponseStatus;
import doumeemes.core.exception.BusinessException;
import doumeemes.core.model.LoginUserInfo;
import doumeemes.core.model.PageData;
import doumeemes.core.model.PageWrap;
import doumeemes.core.utils.Constants;
import doumeemes.core.utils.Utils;
import doumeemes.dao.business.UnqualifiedRecordMapper;
import doumeemes.dao.business.model.UnqualifiedRecord;
import doumeemes.dao.business.model.*;
import doumeemes.dao.ext.dto.QueryUnQualifiedRecordDTO;
import doumeemes.dao.system.dto.QuerySystemLoginLogDTO;
import doumeemes.dao.ext.join.UnQualifiedRecordJoinMapper;
import doumeemes.dao.system.model.SystemLoginLog;
import doumeemes.dao.system.model.SystemUser;
import doumeemes.service.business.UnqualifiedRecordService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
 * 工单类-报工不良记录类型表Service实现
@@ -26,6 +39,10 @@
    @Autowired
    private UnqualifiedRecordMapper unqualifiedRecordMapper;
    @Autowired
    private UnQualifiedRecordJoinMapper unQualifiedRecordJoinMapper;
    @Override
    public Integer create(UnqualifiedRecord unqualifiedRecord) {
@@ -83,7 +100,7 @@
        QueryWrapper<UnqualifiedRecord> wrapper = new QueryWrapper<>(unqualifiedRecord);
        return unqualifiedRecordMapper.selectList(wrapper);
    }
    @Override
    public PageData<UnqualifiedRecord> findPage(PageWrap<UnqualifiedRecord> pageWrap) {
        IPage<UnqualifiedRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
@@ -121,4 +138,79 @@
        QueryWrapper<UnqualifiedRecord> wrapper = new QueryWrapper<>(unqualifiedRecord);
        return unqualifiedRecordMapper.selectCount(wrapper);
    }
    @Override
    public PageData<UnqualifiedRecord> findJoinPage(PageWrap<QueryUnQualifiedRecordDTO> pageWrap) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!");
        }
        IPage<UnqualifiedRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<UnqualifiedRecord> mpjLambdaWrapper = new MPJLambdaWrapper<>();
        mpjLambdaWrapper.selectAll(UnqualifiedRecord.class);
        mpjLambdaWrapper.selectAs(Workorder::getCode, UnqualifiedRecord::getWorkOrderCode);
        mpjLambdaWrapper.selectAs(Material::getName, UnqualifiedRecord::getMaterialName);
        mpjLambdaWrapper.selectAs(Material::getCode, UnqualifiedRecord::getMaterialCode);
        mpjLambdaWrapper.selectAs(Procedures::getName, UnqualifiedRecord::getProceduresName);
        mpjLambdaWrapper.selectAs(Category::getName, UnqualifiedRecord::getCategoryName);
        mpjLambdaWrapper.selectAs(SystemUser::getRealname, UnqualifiedRecord::getCreateUserName);
        mpjLambdaWrapper.leftJoin(Workorder.class,Workorder::getId,UnqualifiedRecord::getWorkorderId);
        mpjLambdaWrapper.leftJoin(MaterialDistribute.class,MaterialDistribute::getId,Workorder::getMaterialId);
        mpjLambdaWrapper.leftJoin(Material.class,Material::getId,MaterialDistribute::getMaterialId);
        mpjLambdaWrapper.leftJoin(Procedures.class,Procedures::getId,Workorder::getProcedureId);
        mpjLambdaWrapper.leftJoin(Category.class,Category::getId,UnqualifiedRecord::getCategoryId);
        mpjLambdaWrapper.leftJoin(SystemUser.class,SystemUser::getId,UnqualifiedRecord::getCreateUser);
        //只能查看当前根组织的数据
        mpjLambdaWrapper.eq(Workorder::getRootDepartId,user.getRootDepartment().getId());
        //如果当前选择的公司级组织非根组织信息,只能查看当前选择公司级组织数据
        mpjLambdaWrapper.eq(Workorder::getDepartId,user.getCurComDepartment().getId());
        mpjLambdaWrapper.eq(UnqualifiedRecord::getDeleted,Constants.ZERO);
        // 不良分类分类
        if ( pageWrap.getModel().getCategoryId() !=null) {
            mpjLambdaWrapper.eq(UnqualifiedRecord::getCategoryId, pageWrap.getModel().getCategoryId());
        }
        // 工单编码
        if (StringUtils.isNotBlank(pageWrap.getModel().getCode())) {
            mpjLambdaWrapper.like(Workorder::getCode, pageWrap.getModel().getCode());
        }
        return PageData.from(unQualifiedRecordJoinMapper.selectJoinPage(page, UnqualifiedRecord.class,mpjLambdaWrapper));
    }
    @Override
    public List<UnqualifiedRecord> findJoinList(Integer recordId) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!");
        }
        MPJLambdaWrapper<UnqualifiedRecord> mpjLambdaWrapper = new MPJLambdaWrapper<>();
        mpjLambdaWrapper.selectAll(UnqualifiedRecord.class);
        mpjLambdaWrapper.selectAs(Workorder::getCode, UnqualifiedRecord::getWorkOrderCode);
        mpjLambdaWrapper.selectAs(Material::getName, UnqualifiedRecord::getMaterialName);
        mpjLambdaWrapper.selectAs(Material::getCode, UnqualifiedRecord::getMaterialCode);
        mpjLambdaWrapper.selectAs(Procedures::getName, UnqualifiedRecord::getProceduresName);
        mpjLambdaWrapper.selectAs(Category::getName, UnqualifiedRecord::getCategoryName);
        mpjLambdaWrapper.selectAs(SystemUser::getRealname, UnqualifiedRecord::getCreateUserName);
        mpjLambdaWrapper.leftJoin(Workorder.class,Workorder::getId,UnqualifiedRecord::getWorkorderId);
        mpjLambdaWrapper.leftJoin(MaterialDistribute.class,MaterialDistribute::getId,Workorder::getMaterialId);
        mpjLambdaWrapper.leftJoin(Material.class,Material::getId,MaterialDistribute::getMaterialId);
        mpjLambdaWrapper.leftJoin(Procedures.class,Procedures::getId,Workorder::getProcedureId);
        mpjLambdaWrapper.leftJoin(Category.class,Category::getId,UnqualifiedRecord::getCategoryId);
        mpjLambdaWrapper.leftJoin(SystemUser.class,SystemUser::getId,UnqualifiedRecord::getCreateUser);
        //只能查看当前根组织的数据
        mpjLambdaWrapper.eq(Workorder::getRootDepartId,user.getRootDepartment().getId());
        //如果当前选择的公司级组织非根组织信息,只能查看当前选择公司级组织数据
        mpjLambdaWrapper.eq(Workorder::getDepartId,user.getCurComDepartment().getId());
        mpjLambdaWrapper.eq(UnqualifiedRecord::getDeleted,Constants.ZERO);
        mpjLambdaWrapper.eq(UnqualifiedRecord::getRecordId, recordId);
        List<UnqualifiedRecord> unqualifiedRecordList =  unQualifiedRecordJoinMapper.selectJoinList(UnqualifiedRecord.class,mpjLambdaWrapper);
        return unqualifiedRecordList;
    }
}