package doumeemes.service.ext.impl; 
 | 
  
 | 
import doumeemes.core.model.LoginUserInfo; 
 | 
import doumeemes.core.model.PageData; 
 | 
import doumeemes.core.model.PageWrap; 
 | 
import doumeemes.core.utils.Constants; 
 | 
import doumeemes.dao.ext.dto.QueryMaterialDistributeExtDTO; 
 | 
import doumeemes.dao.ext.vo.MaterialDistributeExtListVO; 
 | 
import doumeemes.service.ext.MaterialDistributeExtService; 
 | 
import doumeemes.dao.ext.MaterialDistributeExtMapper; 
 | 
import com.github.pagehelper.PageHelper; 
 | 
import com.github.pagehelper.PageInfo; 
 | 
import doumeemes.service.ext.ProceduresExtService; 
 | 
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.List; 
 | 
  
 | 
/** 
 | 
 * 物料分配信息Service实现 
 | 
 * @author 江蹄蹄 
 | 
 * @date 2022/04/20 10:59 
 | 
 */ 
 | 
@Service 
 | 
public class MaterialDistributeExtServiceImpl implements MaterialDistributeExtService { 
 | 
  
 | 
  
 | 
    @Autowired 
 | 
    private ProceduresExtService proceduresExtService; 
 | 
    @Autowired 
 | 
    private MaterialDistributeExtMapper materialDistributeExtMapper; 
 | 
  
 | 
    @Override 
 | 
    public PageData<MaterialDistributeExtListVO> findPage(PageWrap<QueryMaterialDistributeExtDTO> pageWrap) { 
 | 
        PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); 
 | 
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); 
 | 
        pageWrap.getModel().setDeleted(Constants.ZERO); 
 | 
        pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId()); 
 | 
        pageWrap.getModel().setDepartId(user.getCurComDepartment().getId()); 
 | 
        List<MaterialDistributeExtListVO> result = materialDistributeExtMapper.findListByCondition(pageWrap.getModel()); 
 | 
        if(result!=null){ 
 | 
            for(int i=0;i<result.size();i++){ 
 | 
                MaterialDistributeExtListVO mev=result.get(i); 
 | 
                if(StringUtils.isNotEmpty(mev.getCmodelName())){ 
 | 
                    if(StringUtils.isNotEmpty(mev.getCmodel1Name())){ 
 | 
                        if(StringUtils.isNotEmpty(mev.getCmodel2Name())){ 
 | 
                            mev.setUnionCategoryName(mev.getCmodelName()+"-"+mev.getCmodel1Name()+"-"+mev.getCmodel2Name()); 
 | 
                        }else{ 
 | 
                            mev.setUnionCategoryName(mev.getCmodelName()+"-"+mev.getCmodel1Name()); 
 | 
                        } 
 | 
                    }else{ 
 | 
                        mev.setUnionCategoryName(mev.getCmodelName()); 
 | 
                    } 
 | 
                } 
 | 
                if(mev.getHasBom() >0 && Constants.equalsInteger(pageWrap.getModel().getQueryType(),Constants.ONE)){ 
 | 
                    //如果需要查询工艺路线工序,查询bom关联工艺路线的所有工序 
 | 
                    mev.setProcedureList(proceduresExtService.getListByMaterialId(mev.getId())); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        return PageData.from(new PageInfo<>(result)); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<MaterialDistributeExtListVO> findListByCondition(QueryMaterialDistributeExtDTO pageWrap) { 
 | 
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); 
 | 
        pageWrap.setDeleted(Constants.ZERO); 
 | 
        pageWrap.setRootDepartId(user.getRootDepartment().getId()); 
 | 
        pageWrap.setDepartId(user.getCurComDepartment().getId()); 
 | 
        List<MaterialDistributeExtListVO> result = materialDistributeExtMapper.findListByCondition(pageWrap); 
 | 
        if(result!=null){ 
 | 
            for(int i=0;i<result.size();i++){ 
 | 
                MaterialDistributeExtListVO mev=result.get(i); 
 | 
                if(StringUtils.isNotEmpty(mev.getCmodelName())){ 
 | 
                    if(StringUtils.isNotEmpty(mev.getCmodel1Name())){ 
 | 
                        if(StringUtils.isNotEmpty(mev.getCmodel2Name())){ 
 | 
                            mev.setUnionCategoryName(mev.getCmodelName()+"-"+mev.getCmodel1Name()+"-"+mev.getCmodel2Name()); 
 | 
                        }else{ 
 | 
                            mev.setUnionCategoryName(mev.getCmodelName()+"-"+mev.getCmodel1Name()); 
 | 
                        } 
 | 
                    }else{ 
 | 
                        mev.setUnionCategoryName(mev.getCmodelName()); 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        return result; 
 | 
    } 
 | 
  
 | 
  
 | 
    @Override 
 | 
    public MaterialDistributeExtListVO findByMaterialId(Integer materialId) { 
 | 
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); 
 | 
        QueryMaterialDistributeExtDTO pageWrap = new QueryMaterialDistributeExtDTO(); 
 | 
        pageWrap.setDeleted(Constants.ZERO); 
 | 
        pageWrap.setRootDepartId(user.getRootDepartment().getId()); 
 | 
        pageWrap.setDepartId(user.getCurComDepartment().getId()); 
 | 
        pageWrap.setMaterialId(materialId); 
 | 
        MaterialDistributeExtListVO result = materialDistributeExtMapper.findByMaterialId(pageWrap); 
 | 
        return result; 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
} 
 |