no message

main
HUOJIN\92525 2025-03-24 16:15:17 +08:00
parent 7156c8445c
commit 1f38a4a636
17 changed files with 176 additions and 90 deletions

View File

@ -6,7 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* *
@ -17,6 +21,9 @@ import lombok.Data;
*/ */
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_area") @TableName("t_area")
public class AreaEntity { public class AreaEntity {

View File

@ -9,9 +9,9 @@ import lombok.Data;
/** /**
* *
* *
* @Author hj * @author hj
* @Date 2025-03-11 11:12:36 * @since 2025-03-11 11:12:36
* @Copyright * copyright
*/ */
@Data @Data

View File

@ -8,19 +8,23 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* *
* *
* @Author * @author
* @Date 2024-11-25 17:08:18 * @since 2024-11-25 17:08:18
* @Copyright * copyright
*/ */
@Data @Data
@Builder @Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_item") @TableName("t_item")
public class ItemEntity { public class ItemEntity {

View File

@ -1,21 +1,22 @@
package net.lab1024.sa.admin.module.business.base.item.domain.form; package net.lab1024.sa.admin.module.business.base.item.domain.form;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.DecimalMin; import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data; import lombok.Data;
import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer;
/** /**
* *
* *
* @Author * @author
* @Date 2024-11-25 17:08:18 * @since 2024-11-25 17:08:18
* @Copyright * copyright
*/ */
@Data @Data
@ -33,7 +34,7 @@ public class ItemAddForm {
@NotBlank(message = "单位 不能为空") @NotBlank(message = "单位 不能为空")
private String unit; private String unit;
@Schema(description = "物料类型", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "物料类型")
@NotBlank(message = "物料类型 不能为空 ") @NotBlank(message = "物料类型 不能为空 ")
private String itemType; private String itemType;

View File

@ -7,19 +7,23 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* *
* *
* @Author * @author
* @Date 2024-11-18 14:17:31 * @since 2024-11-18 14:17:31
* @Copyright * copyright
*/ */
@Data @Data
@Builder @Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_location") @TableName("t_location")
public class LocationEntity { public class LocationEntity {

View File

@ -4,12 +4,8 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
import lombok.Data; import lombok.Data;
import net.lab1024.sa.admin.constant.UsageStatusEnum; import net.lab1024.sa.admin.constant.UsageStatusEnum;
import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum;
import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer; import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer;
import net.lab1024.sa.base.common.swagger.SchemaEnum; import net.lab1024.sa.base.common.swagger.SchemaEnum;
import net.lab1024.sa.base.common.validator.enumeration.CheckEnum; import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
@ -17,9 +13,9 @@ import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
/** /**
* *
* *
* @Author * @author
* @Date 2024-11-18 14:17:31 * @since 2024-11-18 14:17:31
* @Copyright * copyright
*/ */
@Data @Data
@ -29,14 +25,8 @@ public class LocationAddForm {
@NotBlank(message = "库位编码 不能为空") @NotBlank(message = "库位编码 不能为空")
private String locationCode; private String locationCode;
@Schema(description = "库位名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank(message = "库位名称 不能为空")
private String locationName;
@Schema(description = "库位类型") @Schema(description = "库位类型")
@NotBlank(message = "库位类型 不能为空 ") @NotBlank(message = "库位类型 不能为空 ")
@JsonDeserialize(using = DictValueVoDeserializer.class)
private String locationType; private String locationType;
@SchemaEnum(UsageStatusEnum.class) @SchemaEnum(UsageStatusEnum.class)

View File

@ -59,12 +59,12 @@ public class LocationQueryService {
List<LocationVO> list = locationDao.queryPage(page, queryForm); List<LocationVO> list = locationDao.queryPage(page, queryForm);
// 查询库区名称 // 查询库区名称
List<Long> categoryIdList = list.stream().map(LocationVO::getAreaId).distinct().collect(Collectors.toList()); List<Long> areaIdList = list.stream().map(LocationVO::getAreaId).distinct().collect(Collectors.toList());
Map<Long, AreaEntity> areaMap = areaQueryService.queryAreaList(categoryIdList); Map<Long, AreaEntity> areaMap = areaQueryService.queryAreaList(areaIdList);
list.forEach(area -> { list.forEach(locationVO -> {
AreaEntity areaEntity = areaMap.get(area.getAreaId()); AreaEntity area = areaMap.get(locationVO.getAreaId());
if (areaEntity != null) { if (area != null) {
area.setAreaName(areaEntity.getAreaName()); locationVO.setAreaName(area.getAreaName());
} }
}); });
return SmartPageUtil.convert2PageResult(page, list); return SmartPageUtil.convert2PageResult(page, list);

View File

@ -219,6 +219,7 @@ public class LocationService {
/** /**
* *
*
* @param locationCodes * @param locationCodes
* @param areaId * @param areaId
* @param locationType * @param locationType
@ -362,4 +363,21 @@ public class LocationService {
return areaMap; return areaMap;
} }
/**
*
*
* @param locationId id
* @param status
*/
@Transactional(rollbackFor = Exception.class)
public void updateLocationStatus(Long locationId, String status) {
if (locationId != null) {
LocationEntity location = locationDao.selectById(locationId);
if (location != null) {
location.setStatus(status);
locationDao.updateById(location);
}
}
}
} }

View File

@ -13,8 +13,10 @@ import net.lab1024.sa.admin.module.business.base.stock.domain.vo.StockVO;
import net.lab1024.sa.admin.module.business.base.stock.domain.vo.StocksExcelVO; import net.lab1024.sa.admin.module.business.base.stock.domain.vo.StocksExcelVO;
import net.lab1024.sa.admin.module.business.base.stock.service.StockQueryService; import net.lab1024.sa.admin.module.business.base.stock.service.StockQueryService;
import net.lab1024.sa.admin.module.business.base.stock.service.StockService; import net.lab1024.sa.admin.module.business.base.stock.service.StockService;
import net.lab1024.sa.base.common.domain.RequestUser;
import net.lab1024.sa.base.common.domain.ValidateList; import net.lab1024.sa.base.common.domain.ValidateList;
import net.lab1024.sa.base.common.util.SmartExcelUtil; import net.lab1024.sa.base.common.util.SmartExcelUtil;
import net.lab1024.sa.base.common.util.SmartRequestUtil;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import net.lab1024.sa.base.common.domain.ResponseDTO; import net.lab1024.sa.base.common.domain.ResponseDTO;
import net.lab1024.sa.base.common.domain.PageResult; import net.lab1024.sa.base.common.domain.PageResult;
@ -57,6 +59,9 @@ public class StockController {
@PostMapping("/stock/add") @PostMapping("/stock/add")
@SaCheckPermission("stock:add") @SaCheckPermission("stock:add")
public ResponseDTO<String> add(@RequestBody @Valid StockAddForm addForm) { public ResponseDTO<String> add(@RequestBody @Valid StockAddForm addForm) {
RequestUser requestUser = SmartRequestUtil.getRequestUser();
addForm.setCreateUserId(requestUser.getUserId());
addForm.setCreateUserName(requestUser.getUserName());
return stockService.add(addForm); return stockService.add(addForm);
} }
@ -83,7 +88,7 @@ public class StockController {
@Operation(summary = "容器下拉查询") @Operation(summary = "容器下拉查询")
@PostMapping("/stock/queryStock") @PostMapping("/stock/queryStock")
public ResponseDTO<List<StockEntity>> queryItem(@RequestBody StockSelect stockSelect) { public ResponseDTO<List<StockEntity>> queryStock(@RequestBody StockSelect stockSelect) {
return ResponseDTO.ok(stockQueryService.queryStock(stockSelect)); return ResponseDTO.ok(stockQueryService.queryStock(stockSelect));
} }

View File

@ -7,19 +7,23 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* *
* *
* @Author * @author
* @Date 2024-11-26 11:37:48 * @since 2024-11-26 11:37:48
* @Copyright * copyright
*/ */
@Data @Data
@Builder @Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_stock") @TableName("t_stock")
public class StockEntity { public class StockEntity {
@ -37,6 +41,7 @@ public class StockEntity {
/** /**
* ID * ID
*/ */
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long locationId; private Long locationId;
/** /**

View File

@ -4,25 +4,20 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
import lombok.Data; import lombok.Data;
import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer; import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer;
/** /**
* *
* *
* @Author * @author
* @Date 2024-11-26 11:37:48 * @since 2024-11-26 11:37:48
* @Copyright * copyright
*/ */
@Data @Data
public class StockAddForm { public class StockAddForm {
@Schema(description = "容器id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "容器id 不能为空")
private Long stockId;
@Schema(description = "容器编码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "容器编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank(message = "容器编码 不能为空") @NotBlank(message = "容器编码 不能为空")
private String stockCode; private String stockCode;
@ -35,25 +30,19 @@ public class StockAddForm {
@NotNull(message = "启用状态 不能为空") @NotNull(message = "启用状态 不能为空")
private Boolean disabledFlag; private Boolean disabledFlag;
@Schema(description = "容器类型", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "容器类型")
@NotBlank(message = "容器类型 不能为空 ") @NotBlank(message = "容器类型 不能为空 ")
@JsonDeserialize(using = DictValueVoDeserializer.class)
private String stockType; private String stockType;
@Schema(description = "创建人ID", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "库位")
@NotNull(message = "创建人ID 不能为空") private Long locationId;
@Schema(hidden = true)
private Long createUserId; private Long createUserId;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(hidden = true)
@NotBlank(message = "创建人 不能为空")
private String createUserName; private String createUserName;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间 不能为空")
private LocalDateTime createTime;
@Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "更新时间 不能为空")
private LocalDateTime updateTime;
} }

View File

@ -8,16 +8,25 @@ import lombok.EqualsAndHashCode;
/** /**
* *
* *
* @Author * @author
* @Date 2024-11-26 11:37:48 * @since 2024-11-26 11:37:48
* @Copyright * copyright
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class StockQueryForm extends PageParam { public class StockQueryForm extends PageParam {
@Schema(description = "容器编码") @Schema(description = "容器id")
private String stockCode; private Long stockId;
@Schema(description = "库位")
private Long locationId;
@Schema(description = "状态")
private String status;
@Schema(description = "是否启用")
private String disabledFlag;
} }

View File

@ -16,27 +16,10 @@ import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer;
*/ */
@Data @Data
public class StockUpdateForm { public class StockUpdateForm extends StockAddForm{
@Schema(description = "容器id", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "容器id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "容器id 不能为空") @NotNull(message = "容器id 不能为空")
private Long stockId; private Long stockId;
@Schema(description = "容器编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank(message = "容器编码 不能为空")
private String stockCode;
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank(message = "状态 不能为空")
private String status;
@Schema(description = "启用状态", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "启用状态 不能为空")
private Boolean disabledFlag;
@Schema(description = "容器类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank(message = "容器类型 不能为空")
@JsonDeserialize(using = DictValueVoDeserializer.class)
private String stockType;
} }

View File

@ -1,6 +1,5 @@
package net.lab1024.sa.admin.module.business.base.stock.domain.vo; package net.lab1024.sa.admin.module.business.base.stock.domain.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.Data; import lombok.Data;
@ -23,9 +22,12 @@ public class StockVO {
@Schema(description = "容器编码") @Schema(description = "容器编码")
private String stockCode; private String stockCode;
@Schema(description = "库位ID") @Schema(description = "库位id")
private Long locationId; private Long locationId;
@Schema(description = "库位编码")
private String locationCode;
@Schema(description = "状态") @Schema(description = "状态")
private String status; private String status;

View File

@ -3,7 +3,11 @@ package net.lab1024.sa.admin.module.business.base.stock.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import net.lab1024.sa.admin.module.business.base.area.domain.entity.AreaEntity;
import net.lab1024.sa.admin.module.business.base.location.domain.entity.LocationEntity;
import net.lab1024.sa.admin.module.business.base.location.domain.vo.LocationVO;
import net.lab1024.sa.admin.module.business.base.location.manager.LocationManager; import net.lab1024.sa.admin.module.business.base.location.manager.LocationManager;
import net.lab1024.sa.admin.module.business.base.location.service.LocationQueryService;
import net.lab1024.sa.admin.module.business.base.stock.dao.StockDao; import net.lab1024.sa.admin.module.business.base.stock.dao.StockDao;
import net.lab1024.sa.admin.module.business.base.stock.domain.entity.StockEntity; import net.lab1024.sa.admin.module.business.base.stock.domain.entity.StockEntity;
import net.lab1024.sa.admin.module.business.base.stock.domain.form.StockQueryForm; import net.lab1024.sa.admin.module.business.base.stock.domain.form.StockQueryForm;
@ -35,6 +39,9 @@ public class StockQueryService {
@Resource @Resource
private DictCacheService dictCacheService; private DictCacheService dictCacheService;
@Resource
private LocationQueryService locationQueryService;
/** /**
* *
* *
@ -44,6 +51,16 @@ public class StockQueryService {
public PageResult<StockVO> queryPage(StockQueryForm queryForm) { public PageResult<StockVO> queryPage(StockQueryForm queryForm) {
Page<?> page = SmartPageUtil.convert2PageQuery(queryForm); Page<?> page = SmartPageUtil.convert2PageQuery(queryForm);
List<StockVO> list = stockDao.queryPage(page, queryForm); List<StockVO> list = stockDao.queryPage(page, queryForm);
// 查询库位编码
List<Long> locationIdList = list.stream().map(StockVO::getLocationId).distinct().collect(Collectors.toList());
Map<Long, LocationEntity> locationMap = locationQueryService.queryLocationList(locationIdList);
list.forEach(StockVO -> {
LocationEntity location = locationMap.get(StockVO.getLocationId());
if (location != null) {
StockVO.setLocationCode(location.getLocationCode());
}
});
return SmartPageUtil.convert2PageResult(page, list); return SmartPageUtil.convert2PageResult(page, list);
} }
@ -106,6 +123,18 @@ public class StockQueryService {
} }
/**
* id
*
* @param locationId
* @return StockEntity
*/
public StockEntity queryStockByLocationId(Long locationId) {
LambdaQueryWrapper<StockEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StockEntity::getLocationId, locationId);
return stockDao.selectOne(queryWrapper);
}
/** /**
* *
* *

View File

@ -11,6 +11,10 @@ import cn.idev.excel.FastExcel;
import net.lab1024.sa.admin.constant.UsageStatusEnum; import net.lab1024.sa.admin.constant.UsageStatusEnum;
import net.lab1024.sa.admin.module.business.base.item.domain.entity.ItemEntity; import net.lab1024.sa.admin.module.business.base.item.domain.entity.ItemEntity;
import net.lab1024.sa.admin.module.business.base.item.domain.form.ItemsImportForm; import net.lab1024.sa.admin.module.business.base.item.domain.form.ItemsImportForm;
import net.lab1024.sa.admin.module.business.base.location.dao.LocationDao;
import net.lab1024.sa.admin.module.business.base.location.domain.entity.LocationEntity;
import net.lab1024.sa.admin.module.business.base.location.service.LocationQueryService;
import net.lab1024.sa.admin.module.business.base.location.service.LocationService;
import net.lab1024.sa.admin.module.business.base.stock.dao.StockDao; import net.lab1024.sa.admin.module.business.base.stock.dao.StockDao;
import net.lab1024.sa.admin.module.business.base.stock.domain.entity.StockEntity; import net.lab1024.sa.admin.module.business.base.stock.domain.entity.StockEntity;
import net.lab1024.sa.admin.module.business.base.stock.domain.form.StockAddForm; import net.lab1024.sa.admin.module.business.base.stock.domain.form.StockAddForm;
@ -20,6 +24,7 @@ import net.lab1024.sa.admin.module.business.base.stock.manager.StockManager;
import net.lab1024.sa.admin.util.JoinerResult; import net.lab1024.sa.admin.util.JoinerResult;
import net.lab1024.sa.admin.util.ResponseDTOUtils; import net.lab1024.sa.admin.util.ResponseDTOUtils;
import net.lab1024.sa.admin.util.ValidateDictKey; import net.lab1024.sa.admin.util.ValidateDictKey;
import net.lab1024.sa.base.common.code.SystemErrorCode;
import net.lab1024.sa.base.common.code.UserErrorCode; import net.lab1024.sa.base.common.code.UserErrorCode;
import net.lab1024.sa.base.common.exception.BusinessException; import net.lab1024.sa.base.common.exception.BusinessException;
import net.lab1024.sa.base.common.util.SmartBeanUtil; import net.lab1024.sa.base.common.util.SmartBeanUtil;
@ -47,6 +52,9 @@ public class StockService {
@Resource @Resource
private StockDao stockDao; private StockDao stockDao;
@Resource
private LocationDao locationDao;
@Resource @Resource
private StockManager stockManager; private StockManager stockManager;
@ -56,6 +64,9 @@ public class StockService {
@Resource @Resource
private StockQueryService stockQueryService; private StockQueryService stockQueryService;
@Resource
private LocationService locationService;
/** /**
* *
@ -89,6 +100,23 @@ public class StockService {
if (existingStock != null && !existingStock.getStockId().equals(updateForm.getStockId())) { if (existingStock != null && !existingStock.getStockId().equals(updateForm.getStockId())) {
return ResponseDTO.error(UserErrorCode.ALREADY_EXIST, UserErrorCode.ALREADY_EXIST.getMsg()); return ResponseDTO.error(UserErrorCode.ALREADY_EXIST, UserErrorCode.ALREADY_EXIST.getMsg());
} }
//当前更新的容器的库位
if (existingStock != null && existingStock.getLocationId() != null) {
//更新库位状态
locationService.updateLocationStatus(existingStock.getLocationId(), UsageStatusEnum.FREE.getValue());
}
if (updateForm.getLocationId() != null) {
LocationEntity location = locationDao.selectById(updateForm.getLocationId());
StockEntity curStock = stockQueryService.queryStockByLocationId(updateForm.getLocationId());
if (curStock != null && existingStock != null) {
if (!curStock.getStockId().equals(existingStock.getStockId())) {
return ResponseDTO.error(SystemErrorCode.SYSTEM_ERROR, location.getLocationCode() + "库位绑定的当前容器为" + curStock.getStockCode());
}
}
//更新库位状态
locationService.updateLocationStatus(updateForm.getLocationId(), UsageStatusEnum.USED.getValue());
}
StockEntity stockEntity = SmartBeanUtil.copy(updateForm, StockEntity.class); StockEntity stockEntity = SmartBeanUtil.copy(updateForm, StockEntity.class);
stockDao.updateById(stockEntity); stockDao.updateById(stockEntity);

View File

@ -23,9 +23,21 @@
<include refid="base_columns"/> <include refid="base_columns"/>
FROM t_stock FROM t_stock
<where> <where>
<!--容器编码--> <!--容器-->
<if test="queryForm.stockCode != null and queryForm.stockCode != ''"> <if test="queryForm.stockId != null ">
AND INSTR(t_stock.stock_code,#{queryForm.stockCode}) AND t_stock.stock_id=#{queryForm.stockId}
</if>
<!--库位-->
<if test="queryForm.locationId != null">
AND t_stock.location_id=#{queryForm.locationId}
</if>
<!--状态-->
<if test="queryForm.status != null and queryForm.status != ''">
AND t_stock.status=#{queryForm.status}
</if>
<!--是否启用-->
<if test="queryForm.disabledFlag != null">
AND t_stock.disabled_flag=#{queryForm.disabledFlag}
</if> </if>
</where> </where>
ORDER BY t_stock.stock_code ORDER BY t_stock.stock_code