package doumeemes.service.ext.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; 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.dao.business.model.Plans; import doumeemes.dao.business.model.Workorder; import doumeemes.dao.ext.UserDeviceExtMapper; import doumeemes.dao.ext.dto.QueryUserDeviceExtDTO; import doumeemes.dao.ext.vo.UserDeviceExtListVO; import doumeemes.service.business.impl.PlansServiceImpl; import doumeemes.service.business.impl.WorkorderServiceImpl; import doumeemes.service.ext.UserDeviceExtService; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * 设置类-人员绑定设备关联表Service实现 * @author 江蹄蹄 * @date 2022/05/10 09:30 */ @Service public class UserDeviceExtServiceImpl implements UserDeviceExtService { @Autowired private UserDeviceExtMapper userDeviceExtMapper; @Autowired private PlansServiceImpl plansServiceimpl; @Autowired private WorkorderServiceImpl workorderServiceimpl; @Override public PageData findPage(PageWrap pageWrap) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!"); } //只能查看当前根组织的数据 pageWrap.getModel().setUmodelRootDepartId(user.getRootDepartment().getId()); // if(!Constants.equalsInteger(user.getCurComDepartment().getId(),user.getRootDepartment().getId())){ //如果当前选择的公司级组织非根组织信息,只能查看当前选择公司级组织数据 pageWrap.getModel().setUmodelComDepartId(user.getCurComDepartment().getId()); // } //数据权限 // pageWrap.getModel().setCreateUser(user.getId()); List dataPermission = user.getDepartPermissionList(); if(dataPermission!=null){ pageWrap.getModel().setCreateUser(user.getId()); pageWrap.getModel().setDepartIds(dataPermission); /* if(dataPermission.size() == 0){ //只能看自己的 pageWrap.getModel().setCreateUser(user.getId()); }else{ //否则走数据权限 pageWrap.getModel().setDepartIds(dataPermission); }*/ } PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); pageWrap.getModel().setDeleted(Constants.ZERO); List result = userDeviceExtMapper.selectList(pageWrap.getModel()); return PageData.from(new PageInfo<>(result)); } @Override public List findAll(QueryUserDeviceExtDTO pageWrap) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!"); } //只能查看当前根组织的数据 pageWrap. setUmodelRootDepartId(user.getRootDepartment().getId()); // if(!Constants.equalsInteger(user.getCurComDepartment().getId(),user.getRootDepartment().getId())){ //如果当前选择的公司级组织非根组织信息,只能查看当前选择公司级组织数据 pageWrap. setUmodelComDepartId(user.getCurComDepartment().getId()); // } //数据权限 List dataPermission = user.getDepartPermissionList(); if(dataPermission!=null){ if(dataPermission.size() == 0){ //只能看自己的 pageWrap. setUmodelUserId(user.getId()); }else{ //否则走数据权限 pageWrap. setDepartIds(dataPermission); } } pageWrap.setDeleted(Constants.ZERO); List result = userDeviceExtMapper.selectList(pageWrap); /** * 返工返修在做计划分配的时候,如果分配当天有工单生产相同的产品(物料编码+工序相同,则优先分配给相同的生产人员和设备) * 班组长在分配不良品返工返修计划时,系统应建议自动默认分配给当日相同产品的生产机台/人员(便于充分利用生产机器工装资源),如果当日没有相同产品生产任务,则不作默认由班组长自行选择处理 */ Plans plan= plansServiceimpl.findById(pageWrap.getPlanId()); List userlist=new ArrayList<>(); if(plan!=null&&plan.getType()==2){ for (String role : user.getRoles()) { if(StringUtils.equals(role,"001")){ Workorder workorder=new Workorder(); workorder.setDeleted(Constants.ZERO); workorder.setPlanId(plan.getId()); workorder.setProcedureId(plan.getProcedureId()); workorder.setMaterialId(plan.getMaterialId()); List workorderList= workorderServiceimpl.findList(workorder); for(int w=0;w getList(QueryUserDeviceExtDTO queryUserDeviceExtDTO) { return userDeviceExtMapper.selectList(queryUserDeviceExtDTO); } }