v3.0.5
This commit is contained in:
+23
-1
@@ -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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+33
-2
@@ -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);
|
||||||
|
|||||||
+4
@@ -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;
|
||||||
}
|
}
|
||||||
+9
@@ -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;
|
||||||
}
|
}
|
||||||
+3
@@ -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;
|
||||||
}
|
}
|
||||||
+11
-4
@@ -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("申报地关区不能为空; ");
|
||||||
|
|||||||
+6
-1
@@ -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、仓库联系人、车型及车牌、委托编码
|
||||||
|
|||||||
+2
@@ -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);
|
||||||
|
|||||||
+9
@@ -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 最新明细子查询) -->
|
||||||
|
|||||||
+270
-184
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user