package org.jeecg.modules.lsw.controller;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
import org.jeecg.common.constant.CommonConstant;
|
import org.jeecg.common.exception.JeecgBootException;
|
import org.jeecg.common.system.query.QueryGenerator;
|
import org.jeecg.modules.base.entity.Factory;
|
import org.jeecg.modules.base.enums.ProductionTypeEnum;
|
import org.jeecg.modules.base.service.IFactoryService;
|
import org.jeecg.modules.lsw.entity.LswMaterial;
|
import org.jeecg.modules.lsw.enums.MaterialCategoryEnum;
|
import org.jeecg.modules.lsw.service.ILswMaterialService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.List;
|
|
/**
|
* @Description: 线边库物料信息
|
* @Author: jeecg-boot
|
* @Date: 2025-06-30
|
* @Version: V1.0
|
*/
|
@Api(tags = "线边库物料信息")
|
@RestController
|
@RequestMapping("/lsw/lswMaterial")
|
@Slf4j
|
public class LswMaterialController {
|
@Autowired
|
private ILswMaterialService lswMaterialService;
|
@Autowired
|
private IFactoryService factoryService;
|
|
/**
|
* 分页列表查询
|
*
|
* @param lswMaterial
|
* @param pageNo
|
* @param pageSize
|
* @param req
|
* @return
|
*/
|
@ApiOperation(value = "线边库物料信息-分页列表查询", notes = "线边库物料信息-分页列表查询")
|
@GetMapping(value = "/list")
|
public Result<IPage<LswMaterial>> queryPageList(LswMaterial lswMaterial,
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
HttpServletRequest req) {
|
QueryWrapper<LswMaterial> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterial, req.getParameterMap());
|
if (lswMaterial.isMaterialCategoryNull()) {
|
queryWrapper.isNull("material_category");
|
}
|
Page<LswMaterial> page = new Page<>(pageNo, pageSize);
|
IPage<LswMaterial> pageList = lswMaterialService.page(page, queryWrapper);
|
return Result.OK(pageList);
|
}
|
|
/**
|
* 编辑
|
*
|
* @param lswMaterial
|
* @return
|
*/
|
@AutoLog(value = "线边库物料信息-编辑")
|
@ApiOperation(value = "线边库物料信息-编辑", notes = "线边库物料信息-编辑")
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
|
public Result<String> edit(@RequestBody LswMaterial lswMaterial) {
|
boolean b = lswMaterialService.editMaterial(lswMaterial);
|
if (!b) {
|
return Result.error("编辑失败");
|
}
|
return Result.OK("编辑成功!");
|
}
|
|
@AutoLog(value = "线边库物料信息-启用")
|
@ApiOperation(value = "线边库物料信息-启用", notes = "线边库物料信息-启用")
|
@GetMapping("/active")
|
public Result<?> active(@RequestParam("id") String id) {
|
LswMaterial entity = lswMaterialService.getById(id);
|
if (entity == null) {
|
return Result.error("数据不存在");
|
}
|
entity.setMaterialStatus(CommonConstant.STATUS_1);
|
lswMaterialService.updateById(entity);
|
return Result.OK("操作成功");
|
}
|
|
@AutoLog(value = "线边库物料信息-禁用")
|
@ApiOperation(value = "线边库物料信息-禁用", notes = "线边库物料信息-禁用")
|
@GetMapping("/inactive")
|
public Result<?> inactive(@RequestParam("id") String id) {
|
LswMaterial entity = lswMaterialService.getById(id);
|
if (entity == null) {
|
return Result.error("数据不存在");
|
}
|
entity.setMaterialStatus(CommonConstant.STATUS_0);
|
lswMaterialService.updateById(entity);
|
return Result.OK("操作成功");
|
}
|
|
/**
|
* 通过id查询
|
*
|
* @param id
|
* @return
|
*/
|
//@AutoLog(value = "线边库物料信息-通过id查询")
|
@ApiOperation(value = "线边库物料信息-通过id查询", notes = "线边库物料信息-通过id查询")
|
@GetMapping(value = "/queryById")
|
public Result<LswMaterial> queryById(@RequestParam(name = "id", required = true) String id) {
|
LswMaterial lswMaterial = lswMaterialService.getById(id);
|
if (lswMaterial == null) {
|
return Result.error("未找到对应数据");
|
}
|
return Result.OK(lswMaterial);
|
|
}
|
|
@AutoLog(value = "线边库物料信息-通过产线类型查询线边库物料")
|
@ApiOperation(value = "线边库物料信息-通过产线类型查询线边库物料", notes = "线边库物料信息-通过产线类型查询线边库物料")
|
@GetMapping(value = "/queryLswMaterialByProductionType")
|
public Result<List<LswMaterial>> queryLswMaterialByProductionType(@RequestParam("factoryId") String factoryId) {
|
Factory factory = factoryService.getById(factoryId);
|
ProductionTypeEnum productionType = ProductionTypeEnum.fromName(factory.getProductionType());
|
List<LswMaterial> lswMaterialList = CollectionUtil.newArrayList();
|
if (productionType == null) {
|
throw new JeecgBootException("产线类型未设置,无法查询相应物料信息!");
|
}
|
switch (productionType) {
|
case ASSEMBLE:
|
//装配线,查询成品物料
|
lswMaterialList = lswMaterialService.list(new LambdaQueryWrapper<LswMaterial>()
|
.eq(LswMaterial::getMaterialCategory, MaterialCategoryEnum.FINISHED_PRODUCT.name())
|
.eq(LswMaterial::getDelFlag, CommonConstant.DEL_FLAG_0)
|
.eq(LswMaterial::getMaterialStatus, CommonConstant.STATUS_1)
|
.orderByAsc(LswMaterial::getMaterialNumber));
|
break;
|
case INNERFLANGE:
|
//内法兰机加线,查询内法兰物料
|
lswMaterialList = lswMaterialService.list(new LambdaQueryWrapper<LswMaterial>()
|
.eq(LswMaterial::getMaterialCategory, MaterialCategoryEnum.INNER_FLANGE.name())
|
.eq(LswMaterial::getDelFlag, CommonConstant.DEL_FLAG_0)
|
.eq(LswMaterial::getMaterialStatus, CommonConstant.STATUS_1)
|
.orderByAsc(LswMaterial::getMaterialNumber));
|
break;
|
case OUTERFLANGE:
|
//外法兰机加线,查询外法兰物料
|
lswMaterialList = lswMaterialService.list(new LambdaQueryWrapper<LswMaterial>()
|
.eq(LswMaterial::getMaterialCategory, MaterialCategoryEnum.OUTER_FLANGE.name())
|
.eq(LswMaterial::getDelFlag, CommonConstant.DEL_FLAG_0)
|
.eq(LswMaterial::getMaterialStatus, CommonConstant.STATUS_1)
|
.orderByAsc(LswMaterial::getMaterialNumber));
|
break;
|
}
|
return Result.OK(lswMaterialList);
|
}
|
}
|