物资类型API--优化业务代码至service层
This commit is contained in:
parent
ed83f77055
commit
e48ddb3d85
|
|
@ -38,9 +38,6 @@ public class TypeController extends BaseController {
|
||||||
@Resource
|
@Resource
|
||||||
private ITypeService typeService;
|
private ITypeService typeService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private IWhHouseSetService houseSetService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询物资类型管理列表
|
* 查询物资类型管理列表
|
||||||
*/
|
*/
|
||||||
|
|
@ -82,32 +79,12 @@ public class TypeController extends BaseController {
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "获取物资类型连动式下拉框")
|
@ApiOperation(value = "获取物资类型连动式下拉框")
|
||||||
@GetMapping("/equipmentType")
|
@GetMapping("/equipmentType")
|
||||||
public AjaxResult equipmentType(@RequestParam(required = false) Long typeId,
|
public AjaxResult equipmentType(@RequestParam(required = false) Long typeId, @RequestParam(required = false) String typeName) {
|
||||||
@RequestParam(required = false) String typeName) {
|
|
||||||
List<Type> listByMaType = typeService.getEquipmentType(typeId, typeName);
|
List<Type> listByMaType = typeService.getEquipmentType(typeId, typeName);
|
||||||
return success(listByMaType);
|
return success(listByMaType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据左列表类型id查询右表格 --- 暂未启用,代码有问题!!
|
|
||||||
* TODO: 待完善
|
|
||||||
* @param typeId 左列表类型id
|
|
||||||
*/
|
|
||||||
@ApiOperation(value = "根据左列表类型id查询右表格")
|
|
||||||
@GetMapping("/getListByMaType")
|
|
||||||
public AjaxResult getListByMaType(Long typeId, @RequestParam(required = false) String typeName, Integer level) {
|
|
||||||
List<Integer> parentIds = typeService.selectParentId(typeId, level);
|
|
||||||
List<Type> listByMaType = new ArrayList<>();
|
|
||||||
for (Integer parentId : parentIds) {
|
|
||||||
listByMaType.addAll(typeService.getListByParentId(parentId.longValue(), typeName));
|
|
||||||
}
|
|
||||||
// Integer pageIndex = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
|
|
||||||
// Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
|
|
||||||
// return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, listByMaType));
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO : 后续优化代码逻辑
|
* TODO : 后续优化代码逻辑
|
||||||
* 物资类型下拉树
|
* 物资类型下拉树
|
||||||
|
|
@ -115,32 +92,9 @@ public class TypeController extends BaseController {
|
||||||
@ApiOperation(value = "物资类型下拉树")
|
@ApiOperation(value = "物资类型下拉树")
|
||||||
@RequiresPermissions("ma:type:list")
|
@RequiresPermissions("ma:type:list")
|
||||||
@GetMapping("/getMaTypeTreeSelect")
|
@GetMapping("/getMaTypeTreeSelect")
|
||||||
public AjaxResult getMaTypeTreeSelect(@RequestParam(required = false, defaultValue = "", value = "typeName") String typeName, @RequestParam(required = false, defaultValue = "", value = "parentId") String parentId) {
|
public AjaxResult getMaTypeTreeSelect(@RequestParam(required = false, defaultValue = "", value = "typeName") String typeName,
|
||||||
// 1.顶级节点及子节点数据全部查询完毕
|
@RequestParam(required = false, defaultValue = "", value = "parentId") String parentId) {
|
||||||
List<TreeSelect> maTypeList = typeService.getMaTypeTree(typeName, parentId);
|
return typeService.getMaTypeTreeSelect(typeName, parentId);
|
||||||
// 2.查询所有的仓库配置
|
|
||||||
List<WhHouseSet> whHouseSets = houseSetService.selectListByMaType(null);
|
|
||||||
// 2.1 定义最终接口返回集合
|
|
||||||
List<TreeSelect> treeSelectResultList = new ArrayList<>();
|
|
||||||
// 3.遍历所有配置关联
|
|
||||||
for (WhHouseSet whHouseSet : whHouseSets) {
|
|
||||||
Long typeId = whHouseSet.getTypeId();
|
|
||||||
if (typeId == null) {continue;}
|
|
||||||
// 构造函数定义0级Tree对象
|
|
||||||
TreeSelect thisTree = new TreeSelect(whHouseSet.getId(),whHouseSet.getHouseName(),0,null);
|
|
||||||
// 定义1级列表,并循环push相应的1级节点
|
|
||||||
List<TreeSelect> oneLevelTreeList = new ArrayList<>();
|
|
||||||
for (TreeSelect treeSelect : maTypeList) {
|
|
||||||
if (treeSelect.getId().equals(typeId)) {
|
|
||||||
oneLevelTreeList.add(treeSelect);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 把处理后对应上的1级列表当作child存入0级Tree对象中
|
|
||||||
thisTree.setChildren(!oneLevelTreeList.isEmpty() ? oneLevelTreeList : null);
|
|
||||||
// 最后把0级Tree对象存入Result返回集合中,返回给前端
|
|
||||||
treeSelectResultList.add(thisTree);
|
|
||||||
}
|
|
||||||
return AjaxResult.success(treeSelectResultList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -213,4 +167,21 @@ public class TypeController extends BaseController {
|
||||||
// 调用service处理业务逻辑
|
// 调用service处理业务逻辑
|
||||||
return typeService.getMaTypeConfigList(maTypeConfigDto);
|
return typeService.getMaTypeConfigList(maTypeConfigDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据左列表类型id查询右表格 --- 暂未启用,代码有问题!!
|
||||||
|
* TODO: 待完善
|
||||||
|
* @param typeId 左列表类型id
|
||||||
|
|
||||||
|
@ApiOperation(value = "根据左列表类型id查询右表格")
|
||||||
|
@GetMapping("/getListByMaType")
|
||||||
|
public AjaxResult getListByMaType(Long typeId, @RequestParam(required = false) String typeName, Integer level) {
|
||||||
|
List<Integer> parentIds = typeService.selectParentId(typeId, level);
|
||||||
|
List<Type> listByMaType = new ArrayList<>();
|
||||||
|
for (Integer parentId : parentIds) {
|
||||||
|
listByMaType.addAll(typeService.getListByParentId(parentId.longValue(), typeName));
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,8 @@ public interface ITypeService {
|
||||||
|
|
||||||
List<TreeSelect> getMaTypeTree(String typeName, String parentId);
|
List<TreeSelect> getMaTypeTree(String typeName, String parentId);
|
||||||
|
|
||||||
|
AjaxResult getMaTypeTreeSelect(String typeName,String parentId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构建前端所需要树结构
|
* 构建前端所需要树结构
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ import com.bonus.material.ma.service.ITypeRepairService;
|
||||||
import com.bonus.material.ma.vo.MaTypeConfigVo;
|
import com.bonus.material.ma.vo.MaTypeConfigVo;
|
||||||
import com.bonus.material.ma.vo.MaTypeListVo;
|
import com.bonus.material.ma.vo.MaTypeListVo;
|
||||||
import com.bonus.material.ma.vo.MaTypeSelectVo;
|
import com.bonus.material.ma.vo.MaTypeSelectVo;
|
||||||
|
import com.bonus.material.warehouse.domain.WhHouseSet;
|
||||||
|
import com.bonus.material.warehouse.service.IWhHouseSetService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.bonus.material.ma.mapper.TypeMapper;
|
import com.bonus.material.ma.mapper.TypeMapper;
|
||||||
import com.bonus.material.ma.domain.Type;
|
import com.bonus.material.ma.domain.Type;
|
||||||
|
|
@ -45,6 +47,9 @@ public class TypeServiceImpl implements ITypeService {
|
||||||
@Resource
|
@Resource
|
||||||
private ITypeRepairService typeRepairService;
|
private ITypeRepairService typeRepairService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IWhHouseSetService houseSetService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询物资类型 -- 根据id
|
* 查询物资类型 -- 根据id
|
||||||
*
|
*
|
||||||
|
|
@ -83,8 +88,6 @@ public class TypeServiceImpl implements ITypeService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MaTypeSelectVo> selectMaTypeListByHouseId(Long houseId) {
|
public List<MaTypeSelectVo> selectMaTypeListByHouseId(Long houseId) {
|
||||||
return typeMapper.selectMaTypeListByHouseId(houseId);
|
return typeMapper.selectMaTypeListByHouseId(houseId);
|
||||||
|
|
@ -115,7 +118,7 @@ public class TypeServiceImpl implements ITypeService {
|
||||||
@Override
|
@Override
|
||||||
public List<Type> selectTypeList(Type type) {
|
public List<Type> selectTypeList(Type type) {
|
||||||
if (type != null ) {
|
if (type != null ) {
|
||||||
if (type.getDelFlag() == null || type.getDelFlag().isEmpty()) {
|
if (StringUtils.isEmpty(type.getDelFlag())) {
|
||||||
// 如果没赋值,则默认查询正常数据状态
|
// 如果没赋值,则默认查询正常数据状态
|
||||||
type.setDelFlag(String.valueOf(DataCodeEnum.NORMAL.getCode()));
|
type.setDelFlag(String.valueOf(DataCodeEnum.NORMAL.getCode()));
|
||||||
}
|
}
|
||||||
|
|
@ -286,15 +289,44 @@ public class TypeServiceImpl implements ITypeService {
|
||||||
List<Type> maTypes = typeMapper.selectMaTypeTree(TYPE_MIN_LEVEL);
|
List<Type> maTypes = typeMapper.selectMaTypeTree(TYPE_MIN_LEVEL);
|
||||||
List<Type> builtMaTypeList = buildMaTypeTree(maTypes);
|
List<Type> builtMaTypeList = buildMaTypeTree(maTypes);
|
||||||
|
|
||||||
List<TreeSelect> treeSelectList = builtMaTypeList.stream()
|
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.map(this::convertToTreeSelect)
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
// 查询顶级节点的仓库配置信息
|
// 查询顶级节点的仓库配置信息
|
||||||
|
|
||||||
// 如果没有查询到那么返回空
|
// 如果没有查询到那么返回空
|
||||||
return treeSelectList;
|
return builtMaTypeList.stream()
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.map(this::convertToTreeSelect)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult getMaTypeTreeSelect(String typeName, String parentId) {
|
||||||
|
// 1.顶级节点及子节点数据全部查询完毕
|
||||||
|
List<TreeSelect> maTypeList = this.getMaTypeTree(typeName, parentId);
|
||||||
|
// 2.查询所有的仓库配置
|
||||||
|
List<WhHouseSet> whHouseSets = houseSetService.selectListByMaType(null);
|
||||||
|
// 2.1 定义最终接口返回集合
|
||||||
|
List<TreeSelect> treeSelectResultList = new ArrayList<>();
|
||||||
|
|
||||||
|
// 使用HashMap来存储maTypeList,以便快速查找
|
||||||
|
Map<Long, TreeSelect> maTypeMap = new HashMap<>();
|
||||||
|
for (TreeSelect treeSelect : maTypeList) {
|
||||||
|
maTypeMap.put(treeSelect.getId(), treeSelect);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3.遍历所有配置关联
|
||||||
|
for (WhHouseSet whHouseSet : whHouseSets) {
|
||||||
|
// --- 数据校验 ----
|
||||||
|
if (whHouseSet == null || whHouseSet.getTypeId() == null) { continue; }
|
||||||
|
// 构造函数定义0级Tree对象
|
||||||
|
TreeSelect thisTree = new TreeSelect(whHouseSet.getId(),whHouseSet.getHouseName(),0,null);
|
||||||
|
// 从Map中直接获取对应的1级节点
|
||||||
|
TreeSelect oneLevelTree = maTypeMap.get(whHouseSet.getTypeId());
|
||||||
|
// 转换为集合存入0级Tree对象中
|
||||||
|
thisTree.setChildren(oneLevelTree != null ? Collections.singletonList(oneLevelTree) : null);
|
||||||
|
// 最后把0级Tree对象存入Result结果集合,返回给前端
|
||||||
|
treeSelectResultList.add(thisTree);
|
||||||
|
}
|
||||||
|
return AjaxResult.success(treeSelectResultList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,6 @@ public class PurchaseNoticePersonServiceImpl implements IPurchaseNoticePersonSer
|
||||||
@Resource
|
@Resource
|
||||||
private PurchaseNoticePersonMapper purchaseNoticePersonMapper;
|
private PurchaseNoticePersonMapper purchaseNoticePersonMapper;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private SmsUtils smsUtils;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询新购短信通知人员
|
* 查询新购短信通知人员
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue