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.WTransferDetailMapper; import doumeemes.dao.ext.WTransferDetailExtMapper; import doumeemes.dao.ext.WTransferExtMapper; import doumeemes.dao.ext.beanDto.QueryWTransferDto; import doumeemes.dao.ext.dto.QueryWTransferExtDTO; import doumeemes.dao.ext.vo.WTransferExtListVO; import doumeemes.dao.ext.vo.WTransferListCountVO; import doumeemes.service.ext.WTransferExtService; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 换库单信息Service实现 * @author 江蹄蹄 * @date 2022/04/20 10:56 */ @Service public class WTransferExtServiceImpl implements WTransferExtService { @Autowired private WTransferExtMapper wTransferExtMapper; @Autowired private WTransferDetailMapper wTransferDetailMapper; @Autowired private WTransferDetailExtMapper wTransferDetailExtMapper; @Override public PageData findPage(PageWrap pageWrap) { PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); List result = wTransferExtMapper.selectList(pageWrap.getModel()); return PageData.from(new PageInfo<>(result)); } @Override public PageData findListPage(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().setRootDepartId(user.getRootDepartment().getId()); pageWrap.getModel().setDepartId(user.getCurComDepartment().getId()); //数据权限 List dataPermission = user.getDepartPermissionList(); if(dataPermission!=null){ pageWrap.getModel().setCreateUser(user.getId()); if(dataPermission.size() == 0){ //只能看自己的(生产人员信息) pageWrap.getModel().setProUserId(user.getId()); }else{ //否则走数据权限 pageWrap.getModel().setDepartIds(dataPermission); } } PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); List result = wTransferExtMapper.selectAdminList(pageWrap.getModel()); //存入物料信息 result.forEach(i->{ i.setWTransferDetailList(wTransferDetailExtMapper.wTransferDetailListById(i.getId())); }); return PageData.from(new PageInfo<>(result)); } @Override public WTransferListCountVO pageCount(QueryWTransferDto param){ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起,您无权限进行该操作!"); } //只能查看当前根组织的数据 param.setRootDepartId(user.getRootDepartment().getId()); param.setDepartId(user.getCurComDepartment().getId()); //数据权限 List dataPermission = user.getDepartPermissionList(); if(dataPermission!=null){ if(dataPermission.size() == 0){ //只能看自己的(生产人员信息) param.setProUserId(user.getId()); }else{ //否则走数据权限 param.setDepartIds(dataPermission); } } WTransferListCountVO result = new WTransferListCountVO(); //全部数量 result.setAllNum(wTransferExtMapper.selectCount(param)); //未完成数量 param.setStatus(Constants.ZERO); result.setStartNum(wTransferExtMapper.selectCount(param)); //已转出数量 param.setStatus(Constants.ONE); result.setOutNum(wTransferExtMapper.selectCount(param)); //已转入数量 param.setStatus(Constants.TWO); result.setInNum(wTransferExtMapper.selectCount(param)); //已取消数量 param.setStatus(3); result.setCancelNum(wTransferExtMapper.selectCount(param)); return result; } }