|
@@ -5,19 +5,12 @@ import com.abi.qms.platform.dao.entity.BaseFactory;
|
|
|
import com.abi.qms.platform.dao.entity.QrBoxCodeFormat;
|
|
|
import com.abi.qms.platform.dao.entity.QrPackage;
|
|
|
import com.abi.qms.platform.dao.entity.UserInfo;
|
|
|
-import com.abi.qms.platform.dao.enums.FactoryLevelEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.LoginTypeEnum;
|
|
|
-import com.abi.qms.platform.dao.enums.ValidEnum;
|
|
|
+import com.abi.qms.platform.dao.enums.*;
|
|
|
import com.abi.qms.platform.dao.mapper.BaseFactoryMapper;
|
|
|
import com.abi.qms.platform.dao.mapper.QrBoxCodeFormatMapper;
|
|
|
import com.abi.qms.platform.dao.mapper.QrPackageMapper;
|
|
|
import com.abi.qms.platform.dao.mapper.UserInfoMapper;
|
|
|
-import com.abi.qms.platform.dto.req.DisableFactoryReq;
|
|
|
-import com.abi.qms.platform.dto.req.EnableFactoryReq;
|
|
|
-import com.abi.qms.platform.dto.req.GetFactoryDetailReq;
|
|
|
-import com.abi.qms.platform.dto.req.ListFactoryReq;
|
|
|
-import com.abi.qms.platform.dto.req.SaveFactoryReq;
|
|
|
+import com.abi.qms.platform.dto.req.*;
|
|
|
import com.abi.qms.platform.dto.res.ExcelImportRes;
|
|
|
import com.abi.qms.platform.dto.res.GetFactoryDetailRes;
|
|
|
import com.abi.qms.platform.dto.res.ListBeerFactorySelectRes;
|
|
@@ -42,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -298,26 +292,32 @@ public class FactoryServiceImpl implements FactoryService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ListPackageFactorySelectRes listPackageFactorySelect() {
|
|
|
+ public ListPackageFactorySelectRes listPackageFactorySelect(ListCoverFactorySelectReq req) {
|
|
|
+ //1-判断是否包材厂用户
|
|
|
Integer loginType;
|
|
|
-
|
|
|
- //查询数据库
|
|
|
- QueryWrapper<BaseFactory> param = new QueryWrapper<>();
|
|
|
- //数据权限隔离,如果登录账号是包材厂,只能看账号包材厂的数据。否则看全部
|
|
|
if (userUtil.getWholeUser().getFactoryId() != null && userUtil.getWholeUser().getFactoryType() != null && FactoryTypeEnum.COVER.is(userUtil.getWholeUser().getFactoryType()) ) {
|
|
|
- param.eq("id", userUtil.getWholeUser().getFactoryId());
|
|
|
loginType = LoginTypeEnum.PACKAGE.getCode();
|
|
|
} else {
|
|
|
loginType = LoginTypeEnum.NOT_PACKAGE.getCode();
|
|
|
}
|
|
|
- //不查询二级供应商,因为下拉创建码包的时候不需要二级
|
|
|
- param.in("factory_level", FactoryLevelEnum.ONE.getCode(),null);
|
|
|
+
|
|
|
+ //2-查询数据库
|
|
|
+ QueryWrapper<BaseFactory> param = new QueryWrapper<>();
|
|
|
+ //数据权限隔离,如果登录账号是包材厂,只能看账号包材厂的数据。否则看全部
|
|
|
+ if (LoginTypeEnum.PACKAGE.is(loginType)) {
|
|
|
+ param.eq("id", userUtil.getWholeUser().getFactoryId());
|
|
|
+ }
|
|
|
//其他条件
|
|
|
param.eq("factory_type", FactoryTypeEnum.COVER.getCode());
|
|
|
param.eq("is_delete", 0);
|
|
|
param.eq("valid", 1);
|
|
|
List<BaseFactory> factoryList = baseFactoryMapper.selectList(param);
|
|
|
|
|
|
+ //3-根据条件过滤二级包材厂
|
|
|
+ if(TrueFalseEnum.TRUE.is(req.getFilterLevelTwo())){
|
|
|
+ factoryList = factoryList.stream().filter(baseFactory -> !FactoryLevelEnum.TWO.is(baseFactory.getFactoryLevel())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
//包装出参
|
|
|
ListPackageFactorySelectRes res = new ListPackageFactorySelectRes();
|
|
|
List<ListPackageFactorySelectRes.FactoryBean> factoryBeans = PojoConverterUtils.copyList(factoryList, ListPackageFactorySelectRes.FactoryBean.class);
|