This commit is contained in:
王奎兴
2026-07-01 18:19:03 +08:00
parent 9511a38946
commit 193db96e63
13 changed files with 395 additions and 192 deletions
@@ -68,6 +68,17 @@ public class StorageSectionDomainService {
storageSectionDO.getStorageCode(), storageSectionDO.getStorageName(), null); storageSectionDO.getStorageCode(), storageSectionDO.getStorageName(), null);
//设置仓库 //设置仓库
setWarehouseInfo(storageSectionDO); setWarehouseInfo(storageSectionDO);
String storageCode = storageSectionDO.getStorageCode();
String storageName = storageSectionDO.getStorageName();
Long warehouseId = storageSectionDO.getWarehouseId();
List<StorageSection> list = storageSectionService.list(new QueryWrapper<StorageSection>().lambda()
.eq(StorageSection::getStorageCode, storageCode)
.eq(StorageSection::getStorageName, storageName)
.eq(StorageSection::getWarehouseId, warehouseId)
.eq(StorageSection::getDelFlag, 1));
if (list != null && list.size() > 0) {
throw new ServiceException("库区编码或名称已存在");
}
return storageSectionService.insert(storageSectionDO); return storageSectionService.insert(storageSectionDO);
} }
@@ -86,6 +97,17 @@ public class StorageSectionDomainService {
storageSectionDO.getStorageSectionId()); storageSectionDO.getStorageSectionId());
//设置仓库 //设置仓库
setWarehouseInfo(storageSectionDO); setWarehouseInfo(storageSectionDO);
String storageCode = storageSectionDO.getStorageCode();
String storageName = storageSectionDO.getStorageName();
Long warehouseId = storageSectionDO.getWarehouseId();
List<StorageSection> list = storageSectionService.list(new QueryWrapper<StorageSection>().lambda()
.eq(StorageSection::getStorageCode, storageCode)
.eq(StorageSection::getStorageName, storageName)
.eq(StorageSection::getWarehouseId, warehouseId)
.eq(StorageSection::getDelFlag, 1));
if (list != null && list.size() > 0) {
throw new ServiceException("库区编码或名称已存在");
}
return storageSectionService.update(storageSectionDO); return storageSectionService.update(storageSectionDO);
} }
@@ -168,4 +190,4 @@ public class StorageSectionDomainService {
} }
} }
@@ -38,6 +38,8 @@ import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoSe
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO; import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO; import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper; import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
import com.mhd.wms.domain.receiptMaterialDetail.entity.ReceiptMaterialDetail;
import com.mhd.wms.domain.receiptMaterialDetail.repository.facade.IReceiptMaterialDetailService;
import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount; import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount;
import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService; import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder; import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
@@ -107,6 +109,8 @@ public class StockInOrderApplicationService {
@Autowired @Autowired
private IStockReceiptOrderService stockReceiptOrderService; private IStockReceiptOrderService stockReceiptOrderService;
@Autowired @Autowired
private IReceiptMaterialDetailService receiptMaterialDetailService;
@Autowired
private IStockOutOrderService stockOutOrderService; private IStockOutOrderService stockOutOrderService;
@Autowired @Autowired
private IHandoverTaskOrderService handoverTaskOrderService; private IHandoverTaskOrderService handoverTaskOrderService;
@@ -452,9 +456,36 @@ public class StockInOrderApplicationService {
throw new ServiceException("入库单不存在,入库单ID" + inOrderId); throw new ServiceException("入库单不存在,入库单ID" + inOrderId);
} }
// 只有已创建状态(status = 1)的入库单可以删除 // 只有已创建状态(status = 1)的入库单可以删除
if (stockInOrderPO.getStatus() == null || !stockInOrderPO.getStatus().equals(1)) { // if (stockInOrderPO.getStatus() == null || !stockInOrderPO.getStatus().equals(1)) {
throw new ServiceException("只有已创建状态的入库单可以删除,入库单号:" + stockInOrderPO.getInOrderNumber() + ",当前状态:" + getStatusName(stockInOrderPO.getStatus())); // throw new ServiceException("只有已创建状态的入库单可以删除,入库单号:" + stockInOrderPO.getInOrderNumber() + ",当前状态:" + getStatusName(stockInOrderPO.getStatus()));
// }
List<InMaterialDetail> list = inMaterialDetailService.list(new LambdaQueryWrapper<InMaterialDetail>()
.eq(InMaterialDetail::getInOrderNumber, stockInOrderPO.getInOrderNumber())
.eq(InMaterialDetail::getDelFlag, 1));
if (list != null && list.size() > 0) {
for (InMaterialDetail inMaterialDetail : list) {
inMaterialDetail.setDelFlag(2);
inMaterialDetailService.updateById(inMaterialDetail);
}
} }
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new LambdaQueryWrapper<StockReceiptOrder>()
.eq(StockReceiptOrder::getInOrderNumber, stockInOrderPO.getInOrderNumber())
.eq(StockReceiptOrder::getDelFlag, 1),false);
if (stockReceiptOrder != null) {
stockReceiptOrder.setDelFlag(2);
stockReceiptOrderService.updateById(stockReceiptOrder);
List<ReceiptMaterialDetail> list1 = receiptMaterialDetailService.list(new LambdaQueryWrapper<ReceiptMaterialDetail>()
.eq(ReceiptMaterialDetail::getReceiptOrderNumber, stockReceiptOrder.getReceiptOrderNumber())
.eq(ReceiptMaterialDetail::getDelFlag, 1));
if (list1 != null && list1.size() > 0) {
for (ReceiptMaterialDetail receiptMaterialDetail : list1) {
receiptMaterialDetail.setDelFlag(2);
receiptMaterialDetailService.updateById(receiptMaterialDetail);
}
}
}
} }
return stockInOrderDomainService.delete(inOrderIds); return stockInOrderDomainService.delete(inOrderIds);
@@ -229,4 +229,8 @@ public class MaterialInventoryPO extends MaterialBasePO {
@ApiModelProperty("LOT编号") @ApiModelProperty("LOT编号")
@Excel(name = "LOT编号") @Excel(name = "LOT编号")
private String lotNumber; private String lotNumber;
@ApiModelProperty("规格型号")
@Excel(name = "规格型号")
private String specificationModel;
} }
@@ -250,4 +250,13 @@ public class MaterialInventoryDO extends MaterialBaseDO {
private String expiryDateStr; private String expiryDateStr;
private String productionDateStr; private String productionDateStr;
private String updateTimeStr; private String updateTimeStr;
private String expiryDateStart;
private String expiryDateEnd;
private String productionDateStart;
private String productionDateEnd;
private String updateTimeStart;
private String updateTimeEnd;
} }
@@ -405,4 +405,7 @@ public class ShelfMaterialDetailPO extends BaseVOEntity {
private BigDecimal erpPriceGw; private BigDecimal erpPriceGw;
//申报总价 //申报总价
private BigDecimal amountGw; private BigDecimal amountGw;
@ApiModelProperty("规格型号")
private String specificationModel;
} }
@@ -27,6 +27,7 @@ import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO; import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder; import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService; import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO; import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.domain.stockOutOrder.service.StockOutOrderDomainService; import com.mhd.wms.domain.stockOutOrder.service.StockOutOrderDomainService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -58,6 +59,8 @@ public class ExcelParseService {
private MaterialBaseInfoApplicationService materialBaseInfoService; private MaterialBaseInfoApplicationService materialBaseInfoService;
@Autowired @Autowired
private StockOutOrderDomainService stockOutOrderDomainService; private StockOutOrderDomainService stockOutOrderDomainService;
@Autowired
private StockOutOrderMapper stockOutOrderMapper;
@Resource @Resource
private UserServiceFeign userServiceFeign; private UserServiceFeign userServiceFeign;
/** /**
@@ -111,6 +114,10 @@ public class ExcelParseService {
stockOutOrder.setWarehouseName(warehouseName); stockOutOrder.setWarehouseName(warehouseName);
stockOutOrder.setWarehouseCode(warehouseCode); stockOutOrder.setWarehouseCode(warehouseCode);
stockOutOrder.setWarehouseId(warehouseId); stockOutOrder.setWarehouseId(warehouseId);
stockOutOrder.setSalesmanId(String.valueOf(loginUser.getUserPo().getUserId()));
stockOutOrder.setSalesmanName(loginUser.getUserPo().getUserName());
String settlementCurrency = stockOutOrderMapper.getSettlementCurrency(shipperId);
stockOutOrder.setSettlementCurrency(settlementCurrency);
initDict(stockOutOrder); initDict(stockOutOrder);
if (loginUser != null){ if (loginUser != null){
stockOutOrder.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); stockOutOrder.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
@@ -236,17 +243,17 @@ public class ExcelParseService {
errorMsg.append(validateShipperMaterialDetails(stockOutOrder)); errorMsg.append(validateShipperMaterialDetails(stockOutOrder));
if (stockOutOrder.getMaterialDetailList() == null || stockOutOrder.getMaterialDetailList().isEmpty()) errorMsg.append("物料明细列表不能为空或匹配不上物料信息; "); if (stockOutOrder.getMaterialDetailList() == null || stockOutOrder.getMaterialDetailList().isEmpty()) errorMsg.append("物料明细列表不能为空或匹配不上物料信息; ");
if (StringUtils.isEmpty(stockOutOrder.getTo())) errorMsg.append("To不能为空; "); if (StringUtils.isEmpty(stockOutOrder.getTo())) errorMsg.append("To不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getEntrustNo())) errorMsg.append("委托单号不能为空; "); // if (StringUtils.isEmpty(stockOutOrder.getEntrustNo())) errorMsg.append("委托单号不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getCarrier())) errorMsg.append("承运商不能为空; "); if (StringUtils.isEmpty(stockOutOrder.getCarrier())) errorMsg.append("承运商不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getTransportModeCode())) errorMsg.append("运输方式不能为空; "); if (StringUtils.isEmpty(stockOutOrder.getTransportModeCode())) errorMsg.append("运输方式不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getSupervisionModeCode())) errorMsg.append("监督方式不能为空; "); if (StringUtils.isEmpty(stockOutOrder.getSupervisionModeCode())) errorMsg.append("监督方式不能为空; ");
// if (StringUtils.isEmpty(stockOutOrder.getContainerNo())) errorMsg.append("柜号不能为空; "); // if (StringUtils.isEmpty(stockOutOrder.getContainerNo())) errorMsg.append("柜号不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getDepartureArrivalCountry())) errorMsg.append("出发/到达国家不能为空; "); if (StringUtils.isEmpty(stockOutOrder.getDepartureArrivalCountry())) errorMsg.append("出发/到达国家不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getManufacturer())) errorMsg.append("制造商不能为空; "); // if (StringUtils.isEmpty(stockOutOrder.getManufacturer())) errorMsg.append("制造商不能为空; ");
// if (ObjectUtil.isEmpty(stockOutOrder.getOutboundDate())) errorMsg.append("出仓日期不能为空; "); // if (ObjectUtil.isEmpty(stockOutOrder.getOutboundDate())) errorMsg.append("出仓日期不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getContactPerson())) errorMsg.append("联系人不能为空; "); if (StringUtils.isEmpty(stockOutOrder.getContactPerson())) errorMsg.append("联系人不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getTel())) errorMsg.append("Tel不能为空; "); // if (StringUtils.isEmpty(stockOutOrder.getTel())) errorMsg.append("Tel不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getFax())) errorMsg.append("Fax不能为空; "); // if (StringUtils.isEmpty(stockOutOrder.getFax())) errorMsg.append("Fax不能为空; ");
if (ObjectUtil.isEmpty(stockOutOrder.getShipperId())) errorMsg.append("客户名称不能为空或匹配不上客户信息; "); if (ObjectUtil.isEmpty(stockOutOrder.getShipperId())) errorMsg.append("客户名称不能为空或匹配不上客户信息; ");
//if (StringUtils.isEmpty(stockOutOrder.getNeedDeclareFlag())) errorMsg.append("是否需要申报不能为空; "); //if (StringUtils.isEmpty(stockOutOrder.getNeedDeclareFlag())) errorMsg.append("是否需要申报不能为空; ");
if (StringUtils.isEmpty(stockOutOrder.getDeclareCustoms())) errorMsg.append("申报地关区不能为空; "); if (StringUtils.isEmpty(stockOutOrder.getDeclareCustoms())) errorMsg.append("申报地关区不能为空; ");
@@ -34,7 +34,12 @@ public class HeaderListener extends AnalysisEventListener<Map<Integer, Object>>
// 将Map转换为List再转为数组 // 将Map转换为List再转为数组
List<String> dataList = mapToList(stringData); List<String> dataList = mapToList(stringData);
Object[] rowData = listToArray(dataList); Object[] rowData = listToArray(dataList);
String stringValue1 = getStringValue(rowData[0]);
if (stringValue1 != null && !stringValue1.isEmpty()) {
if ("备注:".equals(stringValue1)) {
stockOutOrder.setRemark(getStringValue(rowData[1]));
}
}
// 根据行号提取对应信息 // 根据行号提取对应信息
switch (rowNum) { switch (rowNum) {
case 4: // 第5行to仓库联系人车型及车牌委托编码 case 4: // 第5行to仓库联系人车型及车牌委托编码
@@ -37,6 +37,8 @@ public interface StockOutOrderMapper extends BaseMapper<StockOutOrder> {
public String getUserNcCode(@Param("id") Long id); public String getUserNcCode(@Param("id") Long id);
public String getSettlementCurrency(@Param("id") Long id);
public Long getKcId(@Param("lotNo") String lotNo); public Long getKcId(@Param("lotNo") String lotNo);
public String getInOrderNumber(@Param("id") Long id); public String getInOrderNumber(@Param("id") Long id);
@@ -191,4 +191,13 @@ public class MaterialInventoryDTO extends MaterialBaseDTO {
private String expiryDate; private String expiryDate;
private String productionDate; private String productionDate;
private String expiryDateStart;
private String expiryDateEnd;
private String productionDateStart;
private String productionDateEnd;
private String updateTimeStart;
private String updateTimeEnd;
} }
@@ -99,6 +99,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
b.common, b.common,
b.pack_id, b.pack_id,
b.pack_code, b.pack_code,
b.SPECIFICATION_MODEL,
b.pack_name b.pack_name
</sql> </sql>
@@ -64,6 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="barCode" column="inv_bar_code" /> <result property="barCode" column="inv_bar_code" />
<result property="inOrderNumber" column="in_order_number" /> <result property="inOrderNumber" column="in_order_number" />
<result property="lotNumber" column="lot_number" /> <result property="lotNumber" column="lot_number" />
<result property="specificationModel" column="specification_model" />
</resultMap> </resultMap>
@@ -241,6 +242,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTimeStr != null and updateTimeStr != ''"> <if test="updateTimeStr != null and updateTimeStr != ''">
AND TO_CHAR(a.update_time, 'yyyy-MM-dd') = #{updateTimeStr} AND TO_CHAR(a.update_time, 'yyyy-MM-dd') = #{updateTimeStr}
</if> </if>
<if test="updateTimeStart != null and updateTimeStart != ''">
and a.update_time >= #{updateTimeStart}
</if>
<if test="updateTimeEnd != null and updateTimeEnd != ''">
and a.update_time <![CDATA[ < ]]> DATEADD(DAY, 1, #{updateTimeEnd})
</if>
<if test="productionDateStart != null and productionDateStart != ''">
and a.production_date >= #{productionDateStart}
</if>
<if test="productionDateEnd != null and productionDateEnd != ''">
and a.production_date <![CDATA[ < ]]> DATEADD(DAY, 1, #{productionDateEnd})
</if>
<if test="expiryDateStart != null and expiryDateStart != ''">
and a.expiry_date >= #{expiryDateStart}
</if>
<if test="expiryDateEnd != null and expiryDateEnd != ''">
and a.expiry_date <![CDATA[ < ]]> DATEADD(DAY, 1, #{expiryDateEnd})
</if>
</sql> </sql>
<!-- 与 selectMaterialInventoryPo1 相同条件,表别名为 mi(用于 queryListByWl 最新明细子查询) --> <!-- 与 selectMaterialInventoryPo1 相同条件,表别名为 mi(用于 queryListByWl 最新明细子查询) -->
@@ -84,198 +84,284 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="erpCurrGw" column="erp_curr_gw" /> <result property="erpCurrGw" column="erp_curr_gw" />
<result property="erpPriceGw" column="erp_price_gw" /> <result property="erpPriceGw" column="erp_price_gw" />
<result property="amountGw" column="amount_gw" /> <result property="amountGw" column="amount_gw" />
<result property="specificationModel" column="SPECIFICATION_MODEL" />
</resultMap> </resultMap>
<sql id="selectShelfMaterialDetailPo"> <sql id="selectShelfMaterialDetailPo">
select material_detail_id, organization_id, organization_name, top_organization_id, unique_id, shelf_order_number, material_base_info_id, material_code, material_name, bar_code, dimensions, quantity, already_shelves_quantity, shelves_quantity, shelves_status, pack_id, pack_code, pack_name, OMS_IN_MATERIAL_DETAIL, select a.material_detail_id,
CASE a.organization_id,
WHEN pack_detail_id IS NULL OR TRIM(pack_detail_id) = '' THEN NULL a.organization_name,
ELSE CAST(pack_detail_id AS BIGINT) a.top_organization_id,
END as pack_detail_id, unit_code, a.unique_id,
line_num_gw, a.shelf_order_number,
spec_gw, a.material_base_info_id,
unit_gw, a.material_code,
qty_gw, a.material_name,
erp_curr_gw, a.bar_code,
erp_price_gw, a.dimensions,
amount_gw, a.quantity,
in_order_number_gw, a.already_shelves_quantity,
in_line_num_gw, a.shelves_quantity,
unit_name, unit_number, material_warehouse_control_id, serial_number_manage, quality_inspection_manage, quality_inspection_stage, quality_inspection_rule, quality_inspection_ratio, quality_inspection_term, quality_inspection_results, allow_overcharge, overcharge_ratio, batch_number, material_status_code, material_status_name, distribute_rule_id, distribute_rule_code, distribute_rule_name, container_id, container_code, container_type, container_type_name, warehouse_id, warehouse_code, warehouse_name, storage_section_id, storage_code, storage_name, storage_location_id, storage_location_code, storage_location_name, level, parent_unique_id, in_unique_id, receipt_unique_id, allow_modify, remark, batch_ref_no, sheet_ref_no, box_pallet_no, ext_attr_1, ext_attr_2, production_date, expiry_date, inventory_date, ext_attr_3, ext_attr_4, create_time, create_by, create_by_name, update_time, update_by, update_by_name, del_flag,total_net_weight,total_gross_weight,total_volume,total_area,in_order_number,lot_number,pallet_number,copy_batch,copy_quantity,copy_details from shelf_material_detail a.shelves_status,
a.pack_id,
a.pack_code,
a.pack_name,
a.OMS_IN_MATERIAL_DETAIL,
CASE
WHEN a.pack_detail_id IS NULL OR TRIM(a.pack_detail_id) = '' THEN NULL
ELSE CAST(a.pack_detail_id AS BIGINT)
END as pack_detail_id,
a.unit_code,
a.line_num_gw,
a.spec_gw,
a.unit_gw,
a.qty_gw,
a.erp_curr_gw,
a.erp_price_gw,
a.amount_gw,
a.in_order_number_gw,
a.in_line_num_gw,
a.unit_name,
a.unit_number,
a.material_warehouse_control_id,
a.serial_number_manage,
a.quality_inspection_manage,
a.quality_inspection_stage,
a.quality_inspection_rule,
a.quality_inspection_ratio,
a.quality_inspection_term,
a.quality_inspection_results,
a.allow_overcharge,
a.overcharge_ratio,
a.batch_number,
a.material_status_code,
a.material_status_name,
a.distribute_rule_id,
a.distribute_rule_code,
a.distribute_rule_name,
a.container_id,
a.container_code,
a.container_type,
a.container_type_name,
a.warehouse_id,
a.warehouse_code,
a.warehouse_name,
a.storage_section_id,
a.storage_code,
a.storage_name,
a.storage_location_id,
a.storage_location_code,
a.storage_location_name,
a.level,
a.parent_unique_id,
a.in_unique_id,
a.receipt_unique_id,
a.allow_modify,
a.remark,
a.batch_ref_no,
a.sheet_ref_no,
a.box_pallet_no,
a.ext_attr_1,
a.ext_attr_2,
a.production_date,
a.expiry_date,
a.inventory_date,
a.ext_attr_3,
a.ext_attr_4,
a.create_time,
a.create_by,
a.create_by_name,
a.update_time,
a.update_by,
a.update_by_name,
a.del_flag,
a.total_net_weight,
a.total_gross_weight,
a.total_volume,
a.total_area,
a.in_order_number,
a.lot_number,
a.pallet_number,
a.copy_batch,
a.copy_quantity,
a.copy_details,
c.SPECIFICATION_MODEL
from shelf_material_detail a
LEFT JOIN MATERIAL_BASE_INFO c ON a.MATERIAL_BASE_INFO_ID = c.MATERIAL_BASE_INFO_ID AND c.DEL_FLAG = 1
</sql> </sql>
<sql id="selectShelfMaterialDetailPo1"> <sql id="selectShelfMaterialDetailPo1">
<where> <where>
<if test="organizationId != null "> <if test="organizationId != null ">
and organization_id = #{organizationId} and a.organization_id = #{organizationId}
</if> </if>
<if test="organizationName != null and organizationName != ''"> <if test="organizationName != null and organizationName != ''">
and organization_name like concat('%', #{organizationName}, '%') and a.organization_name like concat('%', #{organizationName}, '%')
</if> </if>
<if test="topOrganizationId != null "> <if test="topOrganizationId != null ">
and top_organization_id = #{topOrganizationId} and a.top_organization_id = #{topOrganizationId}
</if> </if>
<if test="uniqueId != null "> <if test="uniqueId != null ">
and unique_id = #{uniqueId} and a.unique_id = #{uniqueId}
</if> </if>
<if test="shelfOrderNumber != null and shelfOrderNumber != ''"> <if test="shelfOrderNumber != null and shelfOrderNumber != ''">
and shelf_order_number = #{shelfOrderNumber} and a.shelf_order_number = #{shelfOrderNumber}
</if> </if>
<if test="materialBaseInfoId != null "> <if test="materialBaseInfoId != null ">
and material_base_info_id = #{materialBaseInfoId} and a.material_base_info_id = #{materialBaseInfoId}
</if> </if>
<if test="materialCode != null and materialCode != ''"> <if test="materialCode != null and materialCode != ''">
and material_code = #{materialCode} and a.material_code = #{materialCode}
</if> </if>
<if test="materialName != null and materialName != ''"> <if test="materialName != null and materialName != ''">
and material_name like concat('%', #{materialName}, '%') and a.material_name like concat('%', #{materialName}, '%')
</if> </if>
<if test="barCode != null and barCode != ''"> <if test="barCode != null and barCode != ''">
and bar_code = #{barCode} and a.bar_code = #{barCode}
</if> </if>
<if test="quantity != null "> <if test="quantity != null ">
and quantity = #{quantity} and a.quantity = #{quantity}
</if> </if>
<if test="shelvesQuantity != null "> <if test="shelvesQuantity != null ">
and shelves_quantity = #{shelvesQuantity} and a.shelves_quantity = #{shelvesQuantity}
</if> </if>
<if test="alreadyShelvesQuantity != null "> <if test="alreadyShelvesQuantity != null ">
and already_shelves_quantity = #{alreadyShelvesQuantity} and a.already_shelves_quantity = #{alreadyShelvesQuantity}
</if> </if>
<if test="shelvesStatus != null "> <if test="shelvesStatus != null ">
and shelves_status = #{shelvesStatus} and a.shelves_status = #{shelvesStatus}
</if> </if>
<if test="packId != null "> <if test="packId != null ">
and pack_id = #{packId} and a.pack_id = #{packId}
</if> </if>
<if test="packCode != null and packCode != ''"> <if test="packCode != null and packCode != ''">
and pack_code = #{packCode} and a.pack_code = #{packCode}
</if> </if>
<if test="packName != null and packName != ''"> <if test="packName != null and packName != ''">
and pack_name like concat('%', #{packName}, '%') and a.pack_name like concat('%', #{packName}, '%')
</if> </if>
<if test="packDetailId != null and packDetailId != ''"> <if test="packDetailId != null and packDetailId != ''">
and pack_detail_id = #{packDetailId} and a.pack_detail_id = #{packDetailId}
</if> </if>
<if test="unitCode != null and unitCode != ''"> <if test="unitCode != null and unitCode != ''">
and unit_code = #{unitCode} and a.unit_code = #{unitCode}
</if> </if>
<if test="unitName != null and unitName != ''"> <if test="unitName != null and unitName != ''">
and unit_name like concat('%', #{unitName}, '%') and a.unit_name like concat('%', #{unitName}, '%')
</if> </if>
<if test="unitNumber != null "> <if test="unitNumber != null ">
and unit_number = #{unitNumber} and a.unit_number = #{unitNumber}
</if> </if>
<if test="materialWarehouseControlId != null "> <if test="materialWarehouseControlId != null ">
and material_warehouse_control_id = #{materialWarehouseControlId} and a.material_warehouse_control_id = #{materialWarehouseControlId}
</if> </if>
<if test="serialNumberManage != null "> <if test="serialNumberManage != null ">
and serial_number_manage = #{serialNumberManage} and a.serial_number_manage = #{serialNumberManage}
</if> </if>
<if test="qualityInspectionManage != null "> <if test="qualityInspectionManage != null ">
and quality_inspection_manage = #{qualityInspectionManage} and a.quality_inspection_manage = #{qualityInspectionManage}
</if> </if>
<if test="qualityInspectionStage != null "> <if test="qualityInspectionStage != null ">
and quality_inspection_stage = #{qualityInspectionStage} and a.quality_inspection_stage = #{qualityInspectionStage}
</if> </if>
<if test="qualityInspectionRule != null "> <if test="qualityInspectionRule != null ">
and quality_inspection_rule = #{qualityInspectionRule} and a.quality_inspection_rule = #{qualityInspectionRule}
</if> </if>
<if test="qualityInspectionRatio != null "> <if test="qualityInspectionRatio != null ">
and quality_inspection_ratio = #{qualityInspectionRatio} and a.quality_inspection_ratio = #{qualityInspectionRatio}
</if> </if>
<if test="qualityInspectionTerm != null "> <if test="qualityInspectionTerm != null ">
and quality_inspection_term = #{qualityInspectionTerm} and a.quality_inspection_term = #{qualityInspectionTerm}
</if> </if>
<if test="qualityInspectionResults != null "> <if test="qualityInspectionResults != null ">
and quality_inspection_results = #{qualityInspectionResults} and a.quality_inspection_results = #{qualityInspectionResults}
</if> </if>
<if test="allowOvercharge != null "> <if test="allowOvercharge != null ">
and allow_overcharge = #{allowOvercharge} and a.allow_overcharge = #{allowOvercharge}
</if> </if>
<if test="overchargeRatio != null "> <if test="overchargeRatio != null ">
and overcharge_ratio = #{overchargeRatio} and a.overcharge_ratio = #{overchargeRatio}
</if> </if>
<if test="batchNumber != null and batchNumber != ''"> <if test="batchNumber != null and batchNumber != ''">
and batch_number = #{batchNumber} and a.batch_number = #{batchNumber}
</if> </if>
<if test="lotNumber != null and lotNumber != ''"> <if test="lotNumber != null and lotNumber != ''">
and lot_number = #{lotNumber} and a.lot_number = #{lotNumber}
</if> </if>
<if test="palletNumber != null and palletNumber != ''"> <if test="palletNumber != null and palletNumber != ''">
and pallet_number like concat('%', #{palletNumber}, '%') and a.pallet_number like concat('%', #{palletNumber}, '%')
</if> </if>
<if test="materialStatusCode != null and materialStatusCode != ''"> <if test="materialStatusCode != null and materialStatusCode != ''">
and material_status_code = #{materialStatusCode} and a.material_status_code = #{materialStatusCode}
</if> </if>
<if test="materialStatusName != null and materialStatusName != ''"> <if test="materialStatusName != null and materialStatusName != ''">
and material_status_name like concat('%', #{materialStatusName}, '%') and a.material_status_name like concat('%', #{materialStatusName}, '%')
</if> </if>
<if test="distributeRuleId != null "> <if test="distributeRuleId != null ">
and distribute_rule_id = #{distributeRuleId} and a.distribute_rule_id = #{distributeRuleId}
</if> </if>
<if test="distributeRuleCode != null and distributeRuleCode != ''"> <if test="distributeRuleCode != null and distributeRuleCode != ''">
and distribute_rule_code = #{distributeRuleCode} and a.distribute_rule_code = #{distributeRuleCode}
</if> </if>
<if test="distributeRuleName != null and distributeRuleName != ''"> <if test="distributeRuleName != null and distributeRuleName != ''">
and distribute_rule_name like concat('%', #{distributeRuleName}, '%') and a.distribute_rule_name like concat('%', #{distributeRuleName}, '%')
</if> </if>
<if test="containerId != null "> <if test="containerId != null ">
and container_id = #{containerId} and a.container_id = #{containerId}
</if> </if>
<if test="containerCode != null and containerCode != ''"> <if test="containerCode != null and containerCode != ''">
and container_code = #{containerCode} and a.container_code = #{containerCode}
</if> </if>
<if test="containerType != null and containerType != ''"> <if test="containerType != null and containerType != ''">
and container_type = #{containerType} and a.container_type = #{containerType}
</if> </if>
<if test="containerTypeName != null and containerTypeName != ''"> <if test="containerTypeName != null and containerTypeName != ''">
and container_type_name like concat('%', #{containerTypeName}, '%') and a.container_type_name like concat('%', #{containerTypeName}, '%')
</if> </if>
<if test="warehouseId != null "> <if test="warehouseId != null ">
and warehouse_id = #{warehouseId} and a.warehouse_id = #{warehouseId}
</if> </if>
<if test="warehouseCode != null and warehouseCode != ''"> <if test="warehouseCode != null and warehouseCode != ''">
and warehouse_code = #{warehouseCode} and a.warehouse_code = #{warehouseCode}
</if> </if>
<if test="warehouseName != null and warehouseName != ''"> <if test="warehouseName != null and warehouseName != ''">
and warehouse_name like concat('%', #{warehouseName}, '%') and a.warehouse_name like concat('%', #{warehouseName}, '%')
</if> </if>
<if test="storageSectionId != null "> <if test="storageSectionId != null ">
and storage_section_id = #{storageSectionId} and a.storage_section_id = #{storageSectionId}
</if> </if>
<if test="storageCode != null and storageCode != ''"> <if test="storageCode != null and storageCode != ''">
and storage_code = #{storageCode} and a.storage_code = #{storageCode}
</if> </if>
<if test="storageName != null and storageName != ''"> <if test="storageName != null and storageName != ''">
and storage_name like concat('%', #{storageName}, '%') and a.storage_name like concat('%', #{storageName}, '%')
</if> </if>
<if test="storageLocationId != null "> <if test="storageLocationId != null ">
and storage_location_id = #{storageLocationId} and a.storage_location_id = #{storageLocationId}
</if> </if>
<if test="storageLocationCode != null and storageLocationCode != ''"> <if test="storageLocationCode != null and storageLocationCode != ''">
and storage_location_code = #{storageLocationCode} and a.storage_location_code = #{storageLocationCode}
</if> </if>
<if test="storageLocationName != null and storageLocationName != ''"> <if test="storageLocationName != null and storageLocationName != ''">
and storage_location_name like concat('%', #{storageLocationName}, '%') and a.storage_location_name like concat('%', #{storageLocationName}, '%')
</if> </if>
<if test="level != null "> <if test="level != null ">
and level = #{level} and a.level = #{level}
</if> </if>
<if test="parentUniqueId != null "> <if test="parentUniqueId != null ">
and parent_unique_id = #{parentUniqueId} and a.parent_unique_id = #{parentUniqueId}
</if> </if>
<if test="createByName != null and createByName != ''"> <if test="createByName != null and createByName != ''">
and create_by_name like concat('%', #{createByName}, '%') and a.create_by_name like concat('%', #{createByName}, '%')
</if> </if>
<if test="updateByName != null and updateByName != ''"> <if test="updateByName != null and updateByName != ''">
and update_by_name like concat('%', #{updateByName}, '%') and a.update_by_name like concat('%', #{updateByName}, '%')
</if> </if>
<choose> <choose>
<when test="delFlag != null"> and del_flag = #{delFlag} </when> <when test="delFlag != null"> and a.del_flag = #{delFlag} </when>
<otherwise> and del_flag = 1 </otherwise> <otherwise> and a.del_flag = 1 </otherwise>
</choose> </choose>
</where> </where>
</sql> </sql>
@@ -480,6 +480,10 @@
<select id="getUserNcCode" parameterType="java.lang.Long" resultType="java.lang.String"> <select id="getUserNcCode" parameterType="java.lang.Long" resultType="java.lang.String">
select CUSTOMER_NC_CODE from "NGWL_TEST_USER".USER_SHIPPER where 1 = 1 and DEL_FLAG = 1 and USER_ID = #{id} limit 1 select CUSTOMER_NC_CODE from "NGWL_TEST_USER".USER_SHIPPER where 1 = 1 and DEL_FLAG = 1 and USER_ID = #{id} limit 1
</select> </select>
<select id="getSettlementCurrency" parameterType="java.lang.Long" resultType="java.lang.String">
select SETTLEMENT_CURRENCY from "NGWL_TEST_USER".USER_SHIPPER where 1 = 1 and DEL_FLAG = 1 and USER_ID = #{id} limit 1
</select>
<select id="getKcId" parameterType="java.lang.String" resultType="java.lang.Long"> <select id="getKcId" parameterType="java.lang.String" resultType="java.lang.Long">
select MATERIAL_INVENTORY_ID from "NGWL_TEST_WMS".OUT_MATERIAL_DETAIL where lot_no = #{lotNo} select MATERIAL_INVENTORY_ID from "NGWL_TEST_WMS".OUT_MATERIAL_DETAIL where lot_no = #{lotNo}
</select> </select>