Commit 1f9b6638 by 赵剑炜

添加了两个盘点接口,构建了出入数据结构

parent 259195cb
package com.junmp.jyzb.api.bean.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class BussinessInventoryDto implements Serializable {
private String totalNum;
private List<EquipmentListDto> equipmentList;
}
\ No newline at end of file
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class EquipmentListDto {
private String typeId;
private String typeName;
private String sizeId;
private String sizeName;
private String planNum;
}
package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.ValidationApi;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class BussinessInventoryReq {
@NotNull(message = "预览时,盘点仓库不能为空", groups = { ValidationApi.detail.class})
private String warehouseId;
private String type;
private String typeList;
}
\ No newline at end of file
package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.validator.api.validators.unique.TableUniqueValue;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 10:56
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class CompanyReq extends BaseRequest {
@NotNull(message = "企业编号不能为空", groups = {edit.class, delete.class, detail.class})
private Long bizId;
@NotBlank(message = "企业编码不能为空", groups = {edit.class})
@TableUniqueValue(
message = "编码重复",
groups = {edit.class},
tableName = "biz_company",
columnName = "biz_code",
idFieldName = "biz_id")
private String bizCode;
/**
* 单位类型
*/
private String bizType;
/**
* 名称
*/
private String name;
/**
* 简称
*/
private String shortName;
/**
* 备注
*/
private String remark;
}
...@@ -44,6 +44,10 @@ public class InventorySumReq extends BaseRequest { ...@@ -44,6 +44,10 @@ public class InventorySumReq extends BaseRequest {
*/ */
public List<String> typeIds; public List<String> typeIds;
/** /**
* 号型IDs
*/
public List<String> sizeIds;
/**
* 类型名称 * 类型名称
*/ */
private String typeName; private String typeName;
......
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
@Data
public class UpdateInventoryReq extends BaseRequest {
/**
* id
*/
@NotBlank(message = "id不能为空",groups = {edit.class})
private String id;
private String applyTime;
/**
* 工作流
*/
private String processDefinitionId;
/**
*
*/
@NotNull(message = "仓库id不能为空",groups = {add.class,edit.class})
private Long orgId;
/**
* 单据单号
*/
private String orgName;
private String examineState;
private String userId;
}
package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.dto.BussinessInventoryDto;
import com.junmp.jyzb.api.bean.query.BussinessInventoryReq;
import com.junmp.jyzb.api.bean.req.UpdateInventoryReq;
import com.junmp.jyzb.api.bean.req.UpdateStocktakeReq;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.service.BussinessInventoryService;
import com.junmp.jyzb.service.CabinetBoxService;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
@Slf4j
@RequestMapping("/BussinessInventory")
@Api(tags = "[盘点]盘点管理模块")
public class BussinessInventoryController {
@Resource
private BussinessInventoryService BussinessInventoryService;
//盘库申请
@PostMapping("/AddStocktakeOrder")
@ApiOperation("盘库申请")
public ApiRes<String> AddStocktakeOrder (@RequestBody @Validated(ValidationApi.add.class) UpdateInventoryReq req){
//判断是否有工作流id,如果有则将状态进行修改
if (ObjectUtil.isEmpty(req.getProcessDefinitionId()))
{
req.setExamineState("none");
}
else
{
req.setExamineState("working");
}
return ApiRes.success(BussinessInventoryService.AddInvOrder(req));
}
//盘库申请
@PostMapping("/Check")
@ApiOperation("预览盘点单")
public ApiRes<BussinessInventoryDto> Check (@RequestBody @Validated(ValidationApi.detail.class) BussinessInventoryReq req){
//判断是否有工作流id,如果有则将状态进行修改
return ApiRes.success(BussinessInventoryService.Check(req));
}
}
package com.junmp.jyzb.doc;
import com.junmp.jyzb.api.bean.query.CompanyReq;
import com.junmp.jyzb.entity.Company;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 10:47
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Api(value = "企业管理", tags = "企业管理接口")
public interface CompanyDoc {
/**
* 新增企业
*/
@ApiOperation(value = "新增企业", tags = "企业管理接口")
ApiRes<Boolean> addBiz(CompanyReq req);
/**
* 更新企业
*/
@ApiOperation(value = "更新企业", tags = "企业管理接口")
ApiRes<Boolean> editBiz(CompanyReq req);
/**
* 获取所有企业
*/
@ApiOperation(value = "获取所有企业", tags = "企业管理接口")
ApiRes<List<Company>> list(CompanyReq req);
/**
* 删除企业
*/
@ApiOperation(value = "删除企业",tags = "企业管理接口")
ApiRes<Boolean> delBiz(CompanyReq req);
/**
* 企业信息分页
*/
@ApiOperation(value = "分页企业信息", tags = "企业管理接口")
ApiRes<PageResult<Company>> page(CompanyReq req);
}
...@@ -33,7 +33,12 @@ public class BussinessInventory implements Serializable { ...@@ -33,7 +33,12 @@ public class BussinessInventory implements Serializable {
* 工作流id * 工作流id
*/ */
@TableField(value = "process_id") @TableField(value = "process_id")
private Integer processId; private Long processId;
/**
* 工作流id
*/
@TableField(value = "current_assign")
private String currentAssign;
/** /**
* 单据业务类型 * 单据业务类型
......
...@@ -2,15 +2,23 @@ package com.junmp.jyzb.service; ...@@ -2,15 +2,23 @@ package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.BusFormDto; import com.junmp.jyzb.api.bean.dto.BusFormDto;
import com.junmp.jyzb.api.bean.dto.BussinessInventoryDto;
import com.junmp.jyzb.api.bean.query.BussinessInventoryReq;
import com.junmp.jyzb.api.bean.query.QueryBusFormReq; import com.junmp.jyzb.api.bean.query.QueryBusFormReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq; import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.api.bean.req.UpdateInventoryReq;
import com.junmp.jyzb.api.bean.req.UpdateStocktakeReq;
import com.junmp.jyzb.entity.BusForm; import com.junmp.jyzb.entity.BusForm;
import com.junmp.jyzb.entity.BussinessInventory; import com.junmp.jyzb.entity.BussinessInventory;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
public interface BussinessInventoryService extends IService<BussinessInventory> { public interface BussinessInventoryService extends IService<BussinessInventory> {
String AddInvOrder(UpdateInventoryReq req);
BussinessInventoryDto Check(BussinessInventoryReq req);
} }
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.query.CompanyReq;
import com.junmp.jyzb.entity.Company;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 09:35
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
public interface CompanyService extends IService<Company> {
/**
* 新增
*
* @param req
*/
boolean addBiz(CompanyReq req);
/**
* 编辑
*
* @param req
*/
boolean editBiz(CompanyReq req);
/**
* 删除
*
* @param req
*/
boolean del(CompanyReq req);
/**
* 列表信息
*
* @param req
*/
List<Company> findList(CompanyReq req);
/**
* 分页信息
*
* @param req
*/
PageResult<Company> findPage(CompanyReq req);
}
...@@ -23,7 +23,7 @@ public interface InventorySummaryService extends IService<InventorySummary> { ...@@ -23,7 +23,7 @@ public interface InventorySummaryService extends IService<InventorySummary> {
//根据条件查询库存汇总信息 //根据条件查询库存汇总信息
PageResult<InventorySummary> getEquipmentInfo(InventorySumReq req); PageResult<InventorySummary> getEquipmentInfo(InventorySumReq req);
List<InventorySummary> getEquipmentInfoList(InventorySumReq req);
//根据条件查询装备汇总信息,用于出库单的选择装备 //根据条件查询装备汇总信息,用于出库单的选择装备
List<InventorySumDto> GetInventorySumInfo(InventorySumReq req); List<InventorySumDto> GetInventorySumInfo(InventorySumReq req);
......
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.entity.BussinessInventory; import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.jyzb.entity.CabinetBoxPolice; import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.jyzb.api.bean.dto.BussinessInventoryDto;
import com.junmp.jyzb.api.bean.dto.EquipmentListDto;
import com.junmp.jyzb.api.bean.query.BussinessInventoryReq;
import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.bean.req.UpdateInventoryReq;
import com.junmp.jyzb.api.bean.req.UpdateStocktakeReq;
import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.mapper.BussinessInventoryMapper; import com.junmp.jyzb.mapper.BussinessInventoryMapper;
import com.junmp.jyzb.mapper.CabinetBoxPoliceMapper; import com.junmp.jyzb.mapper.CabinetBoxPoliceMapper;
import com.junmp.jyzb.service.BussinessInventoryService; import com.junmp.jyzb.service.BussinessInventoryService;
import com.junmp.jyzb.service.CabinetBoxPoliceService; import com.junmp.jyzb.service.CabinetBoxPoliceService;
import com.junmp.jyzb.service.InventorySummaryService;
import com.junmp.jyzb.service.OrderNumService;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.dict.entity.SysDict;
import com.junmp.v2.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.dict.service.SysDictService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Service
public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventoryMapper, BussinessInventory> public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventoryMapper, BussinessInventory>
implements BussinessInventoryService { implements BussinessInventoryService {
@Resource
private IFlowInstanceService FlowInstanceService;
@Resource
private SysDictItemService sysDictItemService;
@Resource
private SysDictService sysDictService;
@Resource
private InventorySummaryService inventorySummaryService;
@Resource
private OrderNumService orderNumService;
@Transactional(rollbackFor = Exception.class)
public String AddInvOrder(UpdateInventoryReq req) {
BussinessInventory BI = new BussinessInventory();
BeanPlusUtil.copyProperties(req,BI);
//设置单号
OrderNum orderNum = setOrderCode("Inventory",req.getOrgId());
String codeValue=String.format("%04d",orderNum.getNum());
BI.setOrder(orderNum.getBussinessType()+orderNum.getYear()+
String.format("%02d", LocalDateTime.now().getMonth().getValue())+
String.format("%02d",LocalDateTime.now().getDayOfMonth())+codeValue);
BI.setCreateTime(DateTimeUtil.getCurrentDateTime());
BI.setApplyTime(DateTimeUtil.getCurrentDateTime());
//执行工作流
if (req.getExamineState().equals("working"))
{
StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO();
startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
startProcessInstanceDTO.setOrderId(BI.getId());
startProcessInstanceDTO.setOrderType("stocktakeOrder");
startProcessInstanceDTO.setUserId(req.getUserId());
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
BI.setProcessId(Long.valueOf(ProcessInstanceId));
String assigns= FlowInstanceService.GetNextAssign(ProcessInstanceId);//这里需要手动更新审核人信息
BI.setCurrentAssign(assigns);
updateById(BI);
}
this.save(BI);
return BI.getId();
}
@Override
public BussinessInventoryDto Check(BussinessInventoryReq req) {
String type=req.getType();
String warehouseId=req.getWarehouseId();
InventorySumReq sumreq=new InventorySumReq();
sumreq.setLocationType("aa270713-3a31-47ff-9ee1-176091fcdf3c");
sumreq.setLocationId(warehouseId);
BussinessInventoryDto BIDto=new BussinessInventoryDto();
if (ObjectUtil.isEmpty(type) || ObjectUtil.isNull(type)) {
}
else {
if (type.equals("type"))//按装备类型盘点
{
List<String> typeIds = Arrays.asList(req.getTypeList().split(","));
sumreq.setTypeIds(typeIds);
} else if (type.equals("size"))//按装备号型盘点
{
List<String> sizeIds = Arrays.asList(req.getTypeList().split(","));
sumreq.setSizeIds(sizeIds);
}
}
List<EquipmentListDto> eqList=new ArrayList<>();
Integer totalNumber=0;
List<InventorySummary> SumResult = inventorySummaryService.getEquipmentInfoList(sumreq);
for (InventorySummary summary : SumResult) {
EquipmentListDto eq=new EquipmentListDto();
BeanPlusUtil.copyProperties(summary,eq);
eq.setPlanNum(String.valueOf(summary.getStockNumber()));
totalNumber+=summary.getStockNumber();
eqList.add(eq);
}
BIDto.setTotalNum(String.valueOf(totalNumber));
BIDto.setEquipmentList(eqList);
return BIDto;
}
/**
* 设置单据单号
* 通用方法,根据组织机构id以及业务单据类型来进行设置
* @param
*/
public OrderNum setOrderCode(String bussinessType,Long orgId){
//设置采购单号,需要先判断该组织机构的采购单号是否存在,如果存在则将数量进行增加,如果不存在则新增一条对应的数据
OrderNum orderNum = new OrderNum();
orderNum.setYear(LocalDateTime.now().getYear());
orderNum.setBussinessType(bussinessType);
orderNum.setOrgId(orgId);
//将业务类型转为中文简写
Long sysDictId = sysDictService.getOne(new LambdaQueryWrapper<SysDict>()
.eq(SysDict::getDictCode, "busstype_chinese")).getDictId();
String itemValue = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getItemText, bussinessType)
.eq(SysDictItem::getDictId,sysDictId)).getItemValue();
orderNum.setBussinessType(itemValue);
OrderNum one = orderNumService.getOne(new LambdaQueryWrapper<OrderNum>()
.eq(OrderNum::getOrgId, orderNum.getOrgId())
.eq(OrderNum::getBussinessType, orderNum.getBussinessType())
.eq(OrderNum::getYear, orderNum.getYear()));
//设置num的数量
if (ObjectUtil.isNull(one)){
orderNum.setNum(1);
orderNumService.save(orderNum);
return orderNum;
}else {
one.setNum(one.getNum()+1);
orderNumService.updateById(one);
return one;
}
}
} }
\ No newline at end of file
package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.query.CompanyReq;
import com.junmp.jyzb.api.exception.enums.CompanyExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.Company;
import com.junmp.jyzb.mapper.CompanyMapper;
import com.junmp.jyzb.service.CompanyService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 09:35
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Slf4j
@Service
public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
@Override
public boolean addBiz(CompanyReq req) {
Company company = new Company();
BeanPlusUtil.copyProperties(req, company);
Integer maxSn = baseMapper.getMaxSn();
//1-获取当前序号
Integer sn = maxSn + 1;
company.setSn(sn);
//2-获取当前编码
String bizCode = GenCodeUtil.genBizCode(sn);
company.setBizCode(bizCode);
return this.save(company);
}
@Override
public boolean editBiz(CompanyReq req) {
Company company = queryCompany(req);
BeanPlusUtil.copyProperties(req, company);
return this.updateById(company);
}
@Override
public boolean del(CompanyReq req) {
Company entity = queryCompany(req);
if (ObjectUtil.isNull(entity)) {
log.warn(StrUtil.format("企业信息不存在,企业编号为:{}", req.getBizId()));
return false;
} else {
return this.removeById(entity.getBizId());
}
}
@Override
public List<Company> findList(CompanyReq req) {
LambdaQueryWrapper<Company> wrapper = createWrapper(req);
return this.list(wrapper);
}
@Override
public PageResult<Company> findPage(CompanyReq req) {
LambdaQueryWrapper<Company> wrapper = createWrapper(req);
Page<Company> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page);
}
private Company queryCompany(CompanyReq req) {
Company app = this.getById(req.getBizId());
if (ObjectUtil.isNull(app)) {
throw new ServiceException(CompanyExceptionEnum.COMPANY_NOT_EXIST);
}
return app;
}
private LambdaQueryWrapper<Company> createWrapper(CompanyReq req) {
LambdaQueryWrapper<Company> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) {
return wrapper;
}
//根据业务编码查询
wrapper.like(ObjectUtil.isNotEmpty(req.getBizCode()), Company::getBizCode, req.getBizCode());
//根据企业名称模糊查询
wrapper.like(ObjectUtil.isNotEmpty(req.getName()), Company::getName, req.getName());
wrapper.orderByDesc(Company::getCreateTime);
return wrapper;
}
}
...@@ -115,6 +115,22 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -115,6 +115,22 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
return PageResultFactory.createPageResult(page1); return PageResultFactory.createPageResult(page1);
} }
@Override
public List<InventorySummary> getEquipmentInfoList(InventorySumReq req) {
//当没有参数传递的时候默认查询全部,但是如果传递了条件,根据条件查询并且如果是根据id进行查询,则需要判断该id是否存在
//(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
(req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) &&
ObjectUtil.isNotNull(req.getOrder()) && !req.getOrder().trim().isEmpty()) {
//修改字段,和数据库字段进行统一
req.setColumn(req.getColumn().replaceAll("[A-Z]", "_$0").toLowerCase());
req.setOrder(req.getOrder().toLowerCase());
}
LambdaQueryWrapper<InventorySummary> wp = createWrapper(req);//取出仓库中总数并计算
return list(wp);
}
/** /**
* 用于出库单中的装备选择 * 用于出库单中的装备选择
* @return * @return
...@@ -420,6 +436,10 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -420,6 +436,10 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
wrapper.and(qw -> req.typeIds.forEach(typeId -> qw.or().eq(InventorySummary::getTypeId, typeId))); wrapper.and(qw -> req.typeIds.forEach(typeId -> qw.or().eq(InventorySummary::getTypeId, typeId)));
} }
//根据类别 //根据类别
if (ObjectUtil.isNotEmpty(req.sizeIds) && req.sizeIds.size()>0) {
wrapper.and(qw -> req.sizeIds.forEach(sizeId -> qw.or().eq(InventorySummary::getSizeId, sizeId)));
}
//根据类别
if (ObjectUtil.isNotEmpty(req.getSizeNames()) && req.getSizeNames().size()>0) { if (ObjectUtil.isNotEmpty(req.getSizeNames()) && req.getSizeNames().size()>0) {
wrapper.and(qw -> req.getSizeNames().forEach(sizeName -> qw.or().eq(InventorySummary::getSizeName, sizeName))); wrapper.and(qw -> req.getSizeNames().forEach(sizeName -> qw.or().eq(InventorySummary::getSizeName, sizeName)));
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论