仓储订单列表;

This commit is contained in:
王奎兴
2026-05-06 17:56:07 +08:00
parent d86639ba4b
commit 223da56807
8 changed files with 362 additions and 0 deletions
@@ -6,6 +6,7 @@ import com.mhd.oms.domain.reserveInMaterialDetail.repository.po.ReserveInMateria
import com.mhd.oms.domain.reserveStockInOrder.entity.ReserveStockInOrder;
import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO;
import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO;
import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo;
import java.util.List;
@@ -22,6 +23,8 @@ public interface IReserveStockInOrderService extends IService<ReserveStockInOrde
*/
public List<ReserveStockInOrderPO> queryList(ReserveStockInOrderDO stockInOrderDO);
public List<InAndOutListVo> inAndOutList(ReserveStockInOrderDO stockInOrderDO);
/**
* 新增入库单
*/
@@ -9,6 +9,7 @@ import com.mhd.oms.domain.reserveInMaterialDetail.repository.po.ReserveInMateria
import com.mhd.oms.domain.reserveStockInOrder.entity.ReserveStockInOrder;
import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO;
import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO;
import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -26,6 +27,8 @@ public interface ReserveStockInOrderMapper extends BaseMapper<ReserveStockInOrde
*/
public List<ReserveStockInOrderPO> queryList(ReserveStockInOrderDO stockInOrderDO);
public List<InAndOutListVo> inAndOutList(ReserveStockInOrderDO stockInOrderDO);
public MaterialBaseInfoPO getinfo(@Param("id") Long id);
public List<MaterialBaseInfoPO> getMaterialBaseInfoList(@Param("id") String id);
@@ -8,6 +8,7 @@ import com.mhd.oms.domain.reserveStockInOrder.repository.facade.IReserveStockInO
import com.mhd.oms.domain.reserveStockInOrder.repository.mapper.ReserveStockInOrderMapper;
import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO;
import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO;
import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -36,6 +37,12 @@ public class ReserveStockInOrderImpl extends ServiceImpl<ReserveStockInOrderMapp
return stockInOrderMapper.queryList(stockInOrderDO);
}
@Override
public List<InAndOutListVo> inAndOutList(ReserveStockInOrderDO stockInOrderDO)
{
return stockInOrderMapper.inAndOutList(stockInOrderDO);
}
/**
* 新增入库单
*/
@@ -0,0 +1,153 @@
package com.mhd.oms.domain.reserveStockInOrder.repository.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import com.mhd.oms.domain.reserveInMaterialDetail.repository.todo.ReserveInMaterialDetailDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 入库单对象 stock_in_order
*
* @author gen
* @date 2024-05-21
*/
@Data
public class InAndOutListVo extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("入库单id")
private Long orderId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("仓库id")
@Excel(name = "仓库id")
private Long warehouseId;
@ApiModelProperty("仓库编码")
@Excel(name = "仓库编码")
private String warehouseCode;
@ApiModelProperty("仓库名称")
@Excel(name = "仓库名称")
private String warehouseName;
@ApiModelProperty("入库单号")
@Excel(name = "入库单号")
private String orderNumber;
@ApiModelProperty("入库状态: 1-已创建 2-已审核 3-收货中 4-上架中 5-已入库")
@Excel(name = "入库状态: 1-已创建 2-已审核 3-收货中 4-上架中 5-已入库")
private Integer status;
@ApiModelProperty("货主id")
@Excel(name = "货主id")
private Long shipperId;
@ApiModelProperty("货主编码")
@Excel(name = "货主编码")
private String shipperCode;
@ApiModelProperty("货主名称")
@Excel(name = "货主名称")
private String shipperName;
@ApiModelProperty("计划数量")
@Excel(name = "计划数量")
private BigDecimal quantity;
@ApiModelProperty("入库数量")
@Excel(name = "入库数量")
private BigDecimal inQuantity;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("入库单id集合")
private List<Long> orderIds;
@ApiModelProperty( "下发状态 0-无状态 1-未下发 2-已下发 ")
private Integer issueStatus;
@ApiModelProperty("下发时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date issueTime;
@ApiModelProperty("下发人id")
private Long issueId;
@ApiModelProperty("下发人")
private String issueName;
@ApiModelProperty("预约审核人id")
private Long reservationAuditId;
@ApiModelProperty("预约审核人id")
private String reservationAuditName;
@ApiModelProperty("预约审核时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date reservationAuditTime;
@ApiModelProperty("结算币种")
private String settlementCurrency;
@ApiModelProperty("业务员ID")
private String salesmanId;
@ApiModelProperty("业务员名称")
private String salesmanName;
@ApiModelProperty("订单来源")
private String reservationOrderSource;
@ApiModelProperty("tms订单号")
private String tmsOrderNumber;
@ApiModelProperty("仓库负责人")
private String directorName;
@ApiModelProperty("仓库负责人电话")
private String directorPhone;
@ApiModelProperty("仓库负责人id")
private Long directorId;
@ApiModelProperty("入库时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date storageTime;
@ApiModelProperty("客户id")
@Excel(name = "客户id")
private Long customerId;
@ApiModelProperty("客户编码")
@Excel(name = "客户编码")
private String customerCode;
@ApiModelProperty("客户名称")
@Excel(name = "客户名称")
private String customerName;
@ApiModelProperty("出库时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date outboundTime;
@ApiModelProperty("业务单号")
@Excel(name = "业务单号")
private String businessOrderNo;
@ApiModelProperty("入或出 in/out")
private String inOrOut;
}
@@ -14,6 +14,7 @@ import com.mhd.oms.domain.reserveInMaterialDetail.repository.po.ReserveInMateria
import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO;
import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO;
import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDTO;
import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo;
import com.mhd.system.api.SystemServiceFeign;
import com.mhd.system.api.UserServiceFeign;
import com.mhd.system.api.domain.InMaterialDetailTZPD;
@@ -151,6 +152,81 @@ public class ReserveStockInOrderApplicationService {
}
/**
* 分页查询入库单列表
*/
public List<InAndOutListVo> inAndOutList(ReserveStockInOrderDO stockInOrderDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
// if (loginUser != null && loginUser.getUserPo() != null){
// Long userOrganizationId = loginUser.getUserPo().getOrganizationId();
// Long frontendOrganizationId = stockInOrderDO.getOrganizationId();
// if (userOrganizationId != null && userOrganizationId == 2827L) {
// if (frontendOrganizationId != null) {
// stockInOrderDO.setOrganizationId(frontendOrganizationId);
// stockInOrderDO.setTopOrganizationId(null);
// } else {
// stockInOrderDO.setOrganizationId(null);
// stockInOrderDO.setTopOrganizationId(null);
// }
// } else {
// if (frontendOrganizationId != null && userOrganizationId != null) {
// if (!frontendOrganizationId.equals(userOrganizationId)) {
// stockInOrderDO.setOrganizationId(userOrganizationId);
// }
// } else {
// if (userOrganizationId != null) {
// stockInOrderDO.setOrganizationId(userOrganizationId);
// }
// }
// if (stockInOrderDO.getOrganizationId() == null) {
// Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
// if (topOrganizationId != null && topOrganizationId != 1) {
// stockInOrderDO.setTopOrganizationId(topOrganizationId);
// }
// } else {
// stockInOrderDO.setTopOrganizationId(2827L);
// }
// }
// if (stockInOrderDO.getWarehouseId() == null) {
// AssociationWarehouseCacheDO associationWarehouseCacheDO =
// SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
// if (associationWarehouseCacheDO != null) {
// stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
// }
// }
// }
// if (loginUser != null) {
// String targetRoleCode = "KGY-001";
// boolean isKuGuan = false;
//
// String roleCode = loginUser.getUserPo() != null ? loginUser.getUserPo().getRoleCode() : null;
// if (StringUtils.isNotBlank(roleCode) && roleCode.contains(targetRoleCode)) {
// isKuGuan = true;
// }
//
// if (!isKuGuan && loginUser.getRoleList() != null) {
// isKuGuan = loginUser.getRoleList().stream()
// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode));
// }
//
// if (!isKuGuan && loginUser.getRoles() != null) {
// isKuGuan = loginUser.getRoles().stream()
// .anyMatch(rc -> StringUtils.isNotBlank(rc) && rc.contains(targetRoleCode));
// }
//
// if (isKuGuan) {
// Integer currentGtStatus = stockInOrderDO.getGtStatus();
// if (currentGtStatus == null || currentGtStatus < 1) {
// stockInOrderDO.setGtStatus(1); // status > 1
// }
// }
// }
return stockInOrderDomainService.inAndOutList(stockInOrderDO);
}
/**
* 新增入库单
*/
@@ -31,6 +31,7 @@ import com.mhd.oms.domain.reserveStockInOrder.repository.facade.IReserveStockInO
import com.mhd.oms.domain.reserveStockInOrder.repository.mapper.ReserveStockInOrderMapper;
import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO;
import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO;
import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo;
import com.mhd.oms.domain.reserveStockOutOrder.entity.ReserveStockOutOrder;
import com.mhd.oms.domain.reserveStockOutOrder.repository.facade.IReserveStockOutOrderService;
import com.mhd.system.api.SystemServiceFeign;
@@ -87,6 +88,10 @@ public class ReserveStockInOrderDomainService {
return stockInOrderService.queryList(stockInOrderDO);
}
public List<InAndOutListVo> inAndOutList(ReserveStockInOrderDO stockInOrderDO) {
return stockInOrderService.inAndOutList(stockInOrderDO);
}
/**
* 新增入库单
@@ -7,6 +7,7 @@ import com.mhd.oms.domain.reserveInMaterialDetail.repository.po.ReserveInMateria
import com.mhd.oms.domain.reserveStockInOrder.repository.po.ReserveStockInOrderPO;
import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO;
import com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDTO;
import com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo;
import com.mhd.oms.domain.reserveStockInOrder.service.ReserveStockInOrderApplicationService;
import com.mhd.oms.domain.reserveStockInOrder.service.ReserveStockInOrderAssembler;
import com.mhd.system.api.domain.InMaterialDetailTZPD;
@@ -49,6 +50,17 @@ public class ReserveStockInOrderApi extends BaseController {
return getDataTable(list);
}
@ApiOperation("查询入库单列表")
@GetMapping("/inAndOutList")
public TableDataInfo inAndOutList(ReserveStockInOrderDTO stockInOrderDTO)
{
//转换实体
ReserveStockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
startPage();
List<InAndOutListVo> list = stockInOrderApplicationService.inAndOutList(stockInOrderDO);
return getDataTable(list);
}
/**
* 编辑入库单
*/
@@ -451,6 +451,109 @@
ORDER BY a.create_time IS NULL, a.create_time DESC
</select>
<select id="inAndOutList" parameterType="com.mhd.oms.domain.reserveStockInOrder.repository.todo.ReserveStockInOrderDO" resultType="com.mhd.oms.domain.reserveStockInOrder.repository.vo.InAndOutListVo">
select * from
(
SELECT
OUT_ORDER_ID AS orderId,
ORGANIZATION_ID AS organizationId,
organization_name AS topOrganizationId,
out_order_number AS orderNumber,
status,
warehouse_id AS warehouseId,
warehouse_code AS warehouseCode,
warehouse_name AS warehouseName,
shipper_id AS shipperId,
shipper_name AS shipperName,
quantity,
create_time AS createTime,
create_by AS createBy,
create_by_name AS createByName,
update_time AS updateTime,
update_by AS updateBy,
update_by_name AS updateByName,
del_flag AS delFlag,
issue_status AS issueStatus,
issue_time AS issueTime,
issue_id AS issueId,
issue_name AS issueName,
reservation_audit_id AS reservationAuditId,
reservation_audit_name AS reservationAuditName,
reservation_audit_time AS reservationAuditTime,
RESERVATION_ORDER_SOURCE AS reservationOrderSource,
DIRECTOR_ID AS directorId,
DIRECTOR_PHONE AS directorPhone,
DIRECTOR_NAME AS directorName,
'' AS storageTime,
'' AS inQuantity,
CUSTOMER_ID AS customerId,
CUSTOMER_NAME AS customerName,
CUSTOMER_CODE AS customerCode,
OUTBOUND_TIME AS outboundTime,
BUSINESS_ORDER_NO AS businessOrderNo,
'out' as inOrOut
FROM
RESERVE_STOCK_OUT_ORDER UNION ALL
SELECT
IN_ORDER_ID AS orderId,
ORGANIZATION_ID AS organizationId,
organization_name AS topOrganizationId,
in_order_number AS orderNumber,
status,
warehouse_id AS warehouseId,
warehouse_code AS warehouseCode,
warehouse_name AS warehouseName,
shipper_id AS shipperId,
shipper_name AS shipperName,
quantity,
create_time AS createTime,
create_by AS createBy,
create_by_name AS createByName,
update_time AS updateTime,
update_by AS updateBy,
update_by_name AS updateByName,
del_flag AS delFlag,
issue_status AS issueStatus,
issue_time AS issueTime,
issue_id AS issueId,
issue_name AS issueName,
reservation_audit_id AS reservationAuditId,
reservation_audit_name AS reservationAuditName,
reservation_audit_time AS reservationAuditTime,
RESERVATION_ORDER_SOURCE AS reservationOrderSource,
DIRECTOR_ID AS directorId,
DIRECTOR_PHONE AS directorPhone,
DIRECTOR_NAME AS directorName,
STORAGE_TIME AS storageTime,
IN_QUANTITY AS inQuantity,
CUSTOMER_ID AS customerId,
CUSTOMER_NAME AS customerName,
CUSTOMER_CODE AS customerCode,
NULL AS outboundTime,
'' AS businessOrderNo,
'in' as inOrOut
FROM
reserve_stock_in_order
) as a
where 1=1
<if test="organizationId != null">
and a.organization_id = #{organizationId}
</if>
<if test="topOrganizationId != null">
and a.top_organization_id = #{topOrganizationId}
</if>
<if test="warehouseId != null">
and a.warehouse_id = #{warehouseId}
</if>
<if test="shipperId != null">
and a.shipper_id = #{shipperId}
</if>
<if test="customerId != null">
and a.customer_id = #{customerId}
</if>
</select>
<select id="getinfo" parameterType="java.lang.Long" resultType="com.mhd.oms.domain.reservationStockInOrder.repository.po.MaterialBaseInfoPO">
select * from "NGWL_TEST_WMS".MATERIAL_BASE_INFO where MATERIAL_BASE_INFO_ID = #{id}
</select>