远程查询待配送接口重构
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package com.delivery.project.document.config;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.databind.JsonSerializer;
|
||||
import com.fasterxml.jackson.databind.SerializerProvider;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class BigDecimalSerializer extends JsonSerializer<BigDecimal> {
|
||||
|
||||
@Override
|
||||
public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers)
|
||||
throws IOException {
|
||||
if (value == null) {
|
||||
gen.writeNull();
|
||||
} else {
|
||||
// 保持数字类型,不带引号,不补0、不截断
|
||||
gen.writeNumber(value.stripTrailingZeros().toPlainString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -152,6 +152,7 @@ public class DeliveryOrderController extends BaseController {
|
||||
List<DeliveryBillVO> list = deliveryOrderService.listWisdomRkForDelivery(billNoCk);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
// ======================== 统计接口 ========================
|
||||
|
||||
/** 总览统计 */
|
||||
|
||||
932
src/main/java/com/delivery/project/document/domain/RkRecord.java
Normal file
932
src/main/java/com/delivery/project/document/domain/RkRecord.java
Normal file
@@ -0,0 +1,932 @@
|
||||
package com.delivery.project.document.domain;
|
||||
|
||||
import com.delivery.framework.aspectj.lang.annotation.Excel;
|
||||
import com.delivery.framework.web.domain.BaseEntity;
|
||||
import com.delivery.project.document.config.BigDecimalSerializer;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 出入库记录对象 rk_record
|
||||
*
|
||||
* @author zg
|
||||
* @date 2026-01-20
|
||||
*/
|
||||
public class RkRecord extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键ID */
|
||||
private Long id;
|
||||
|
||||
/** 批量操作ID集合(不落库) */
|
||||
private List<Long> ids;
|
||||
/** 业务类型 */
|
||||
@Excel(name = "业务类型", readConverterExp = "0=入库,1=出库,2=借料出库,3=还料入库")
|
||||
private String bizType;
|
||||
/** 业务类型列表(查询用) */
|
||||
private List<String> bizTypeList;
|
||||
/** 出入库类型 */
|
||||
// @Excel(name = "出入库类型")
|
||||
private String operationType;
|
||||
// ====== 查询字段(新增)======
|
||||
private List<String> operationTypes;
|
||||
/** 出入库类型名称(联表) */
|
||||
@Excel(name = "出入库类型名称")
|
||||
private String operationTypeName;
|
||||
|
||||
/** 施工队 */
|
||||
@Excel(name = "施工队")
|
||||
private String teamCode;
|
||||
|
||||
/** 施工队名称(联表) */
|
||||
@Excel(name = "施工队名称")
|
||||
private String teamName;
|
||||
|
||||
/** 执行状态(0预入/预出,1已完成) */
|
||||
@Excel(name = "执行状态", readConverterExp = "0=预操作,1=已完成")
|
||||
private String execStatus;
|
||||
|
||||
/** 物资类型 */
|
||||
// @Excel(name = "物资类型")
|
||||
private String wlType;
|
||||
|
||||
/** 物资类型名称(联表) */
|
||||
@Excel(name = "物资类型名称")
|
||||
private String wlTypeName;
|
||||
|
||||
/** 所属仓库 */
|
||||
// @Excel(name = "所属仓库")
|
||||
private String cangku;
|
||||
|
||||
/** 小仓名称 */
|
||||
@Excel(name = "所属仓库")
|
||||
private String warehouseName;
|
||||
|
||||
/** 大仓编码 */
|
||||
private String parentWarehouseCode;
|
||||
|
||||
/** 大仓名称 */
|
||||
@Excel(name = "大仓名称")
|
||||
private String parentWarehouseName;
|
||||
|
||||
/** 出入库时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
@Excel(name = "出入库时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date operationTime;
|
||||
|
||||
/** 出入库理货员 */
|
||||
// @Excel(name = "出入库理货员")
|
||||
private Integer operator;
|
||||
|
||||
/** 出入库理货员 */
|
||||
@Excel(name = "出入库理货员")
|
||||
private String operatorName;
|
||||
|
||||
/** 是否已出库(0已入库,1已出库) */
|
||||
// @Excel(name = "是否已出库", readConverterExp = "0=已入库,1已出库")
|
||||
private String isChuku;
|
||||
|
||||
/** 0:入库待审核,1已通过,2已驳回,3出库待审核 */
|
||||
// @Excel(name = "")
|
||||
private String status;
|
||||
|
||||
/** 库龄(天) */
|
||||
@Excel(name = "库龄(天)")
|
||||
private Long stockAge;
|
||||
|
||||
/** 单据号 */
|
||||
@Excel(name = "单据号")
|
||||
private String billNo;
|
||||
|
||||
/** 县局 */
|
||||
@Excel(name = "县局")
|
||||
private String xj;
|
||||
|
||||
/** 项目号 */
|
||||
@Excel(name = "项目号")
|
||||
private String xmNo;
|
||||
|
||||
/** 项目描述 */
|
||||
@Excel(name = "项目描述")
|
||||
private String xmMs;
|
||||
|
||||
/** 出库项目号(借用方项目) */
|
||||
@Excel(name = "出库项目号", readConverterExp = "借=用方项目")
|
||||
private String xmNoCk;
|
||||
|
||||
/** 出库项目描述(借用方项目描述) */
|
||||
@Excel(name = "出库项目描述", readConverterExp = "借=用方项目描述")
|
||||
private String xmMsCk;
|
||||
|
||||
/** 物料号 */
|
||||
@Excel(name = "物料号")
|
||||
private String wlNo;
|
||||
|
||||
/** 物料描述 */
|
||||
@Excel(name = "物料描述")
|
||||
private String wlMs;
|
||||
|
||||
/** 供应商编码 */
|
||||
@Excel(name = "供应商编码")
|
||||
private String gysNo;
|
||||
|
||||
/** 供应商名称 */
|
||||
@Excel(name = "供应商名称")
|
||||
private String gysMc;
|
||||
|
||||
/** SAP订单编号 */
|
||||
@Excel(name = "SAP订单编号")
|
||||
private String sapNo;
|
||||
|
||||
/** 行号 */
|
||||
@Excel(name = "行号")
|
||||
private String xh;
|
||||
|
||||
/** 计划交货金额 */
|
||||
@Excel(name = "计划交货金额")
|
||||
@JsonSerialize(using = BigDecimalSerializer.class)
|
||||
private BigDecimal jhAmt;
|
||||
|
||||
/** 合同单价 */
|
||||
@Excel(name = "合同单价")
|
||||
@JsonSerialize(using = BigDecimalSerializer.class)
|
||||
private BigDecimal htDj;
|
||||
|
||||
/** 计划交货数量 */
|
||||
@Excel(name = "计划交货数量")
|
||||
@JsonSerialize(using = BigDecimalSerializer.class)
|
||||
private BigDecimal jhQty;
|
||||
|
||||
/** 合同数量 */
|
||||
@Excel(name = "合同数量")
|
||||
@JsonSerialize(using = BigDecimalSerializer.class)
|
||||
private BigDecimal htQty;
|
||||
|
||||
/** 计量单位 */
|
||||
@Excel(name = "计量单位")
|
||||
private String dw;
|
||||
|
||||
/** 实际入库数量 */
|
||||
@Excel(name = "实际出/入库数量")
|
||||
@JsonSerialize(using = BigDecimalSerializer.class)
|
||||
private BigDecimal realQty;
|
||||
|
||||
/** 导出用:总金额 = realQty * htDj(不落库) */
|
||||
@Excel(name = "总金额")
|
||||
@JsonSerialize(using = BigDecimalSerializer.class)
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/** 库位码 */
|
||||
@Excel(name = "库位码")
|
||||
private String pcode;
|
||||
|
||||
/** 库位16进制编码 */
|
||||
@Excel(name = "库位16进制编码")
|
||||
private String pcodeId;
|
||||
|
||||
/** 托盘码 */
|
||||
@Excel(name = "托盘码")
|
||||
private String trayCode;
|
||||
|
||||
/** 实物ID */
|
||||
@Excel(name = "实物ID")
|
||||
private String entityId;
|
||||
|
||||
/** 借用时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
// @Excel(name = "借用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date borrowTime;
|
||||
|
||||
/** 归还时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
// @Excel(name = "归还时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date returnTime;
|
||||
|
||||
/** 是否移库过(0否 1是) */
|
||||
// @Excel(name = "是否移库过", readConverterExp = "0=否,1=是")
|
||||
private String hasMoved;
|
||||
|
||||
/** 是否借料(0否,1是,2已归还) */
|
||||
// @Excel(name = "是否借料", readConverterExp = "0=否,1是,2已归还")
|
||||
private String isBorrowed;
|
||||
|
||||
/** 是否删除(0 表示正常,1 表示已删除) */
|
||||
// @Excel(name = "是否删除", readConverterExp = "0=,表=示正常,1,表=示已删除")
|
||||
private String isDelete;
|
||||
|
||||
/** 供应计划ID(对应供应计划表主键) */
|
||||
// @Excel(name = "供应计划ID", readConverterExp = "对=应供应计划表主键")
|
||||
private Long gysJhId;
|
||||
|
||||
/** $column.columnComment */
|
||||
// @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long rdid;
|
||||
|
||||
/** $column.columnComment */
|
||||
// @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long rdidCk;
|
||||
|
||||
/** $column.columnComment */
|
||||
// @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
private Long sid;
|
||||
|
||||
/** 是否需要配送(0否,1是,2配送中,3配送完成) */
|
||||
@Excel(name = "是否需要配送", readConverterExp = "0=否,1=是,2=配送中,3=配送完成")
|
||||
private String isDelivery;
|
||||
/** 封样编号1 */
|
||||
// @Excel(name = "封样编号1")
|
||||
private String fycde1;
|
||||
|
||||
/** 封样编号2 */
|
||||
// @Excel(name = "封样编号2")
|
||||
private String fycde2;
|
||||
|
||||
/** 1已更新 */
|
||||
// @Excel(name = "1已更新")
|
||||
private Long isUpdate;
|
||||
|
||||
/** 入库 / 出库开始时间(查询用) */
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date startDate;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date endDate;
|
||||
|
||||
/** 对应 rk_info 主键ID */
|
||||
private Long rkInfoId;
|
||||
/** 备注 */
|
||||
@Excel(name = "备注")
|
||||
private String remark;
|
||||
|
||||
/** 单件重量(kg) */
|
||||
private BigDecimal weightKg;
|
||||
|
||||
/** 单件体积(立方米) */
|
||||
private BigDecimal volumeM3;
|
||||
|
||||
public void setId(Long id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
|
||||
public List<Long> getIds() {
|
||||
return ids;
|
||||
}
|
||||
|
||||
public void setIds(List<Long> ids) {
|
||||
this.ids = ids;
|
||||
}
|
||||
|
||||
public void setBizType(String bizType) {
|
||||
this.bizType = bizType;
|
||||
}
|
||||
|
||||
public String getBizType() {
|
||||
return bizType;
|
||||
}
|
||||
public List<String> getBizTypeList() {
|
||||
return bizTypeList;
|
||||
}
|
||||
|
||||
public void setBizTypeList(List<String> bizTypeList) {
|
||||
this.bizTypeList = bizTypeList;
|
||||
}
|
||||
public void setOperationType(String operationType)
|
||||
{
|
||||
this.operationType = operationType;
|
||||
}
|
||||
|
||||
public String getOperationType()
|
||||
{
|
||||
return operationType;
|
||||
}
|
||||
|
||||
public String getOperationTypeName() {
|
||||
return operationTypeName;
|
||||
}
|
||||
|
||||
public void setOperationTypeName(String operationTypeName) {
|
||||
this.operationTypeName = operationTypeName;
|
||||
}
|
||||
|
||||
public String getExecStatus() {
|
||||
return execStatus;
|
||||
}
|
||||
|
||||
public void setExecStatus(String execStatus) {
|
||||
this.execStatus = execStatus;
|
||||
}
|
||||
public Long getStockAge() {
|
||||
return stockAge;
|
||||
}
|
||||
|
||||
public void setStockAge(Long stockAge) {
|
||||
this.stockAge = stockAge;
|
||||
}
|
||||
|
||||
public void setWlType(String wlType)
|
||||
{
|
||||
this.wlType = wlType;
|
||||
}
|
||||
|
||||
public String getWlType()
|
||||
{
|
||||
return wlType;
|
||||
}
|
||||
|
||||
public String getWlTypeName() {
|
||||
return wlTypeName;
|
||||
}
|
||||
|
||||
public void setWlTypeName(String wlTypeName) {
|
||||
this.wlTypeName = wlTypeName;
|
||||
}
|
||||
|
||||
public void setCangku(String cangku)
|
||||
{
|
||||
this.cangku = cangku;
|
||||
}
|
||||
|
||||
public String getCangku()
|
||||
{
|
||||
return cangku;
|
||||
}
|
||||
|
||||
public String getWarehouseName() {
|
||||
return warehouseName;
|
||||
}
|
||||
|
||||
public void setWarehouseName(String warehouseName) {
|
||||
this.warehouseName = warehouseName;
|
||||
}
|
||||
|
||||
public String getParentWarehouseCode() {
|
||||
return parentWarehouseCode;
|
||||
}
|
||||
|
||||
public void setParentWarehouseCode(String parentWarehouseCode) {
|
||||
this.parentWarehouseCode = parentWarehouseCode;
|
||||
}
|
||||
|
||||
public String getParentWarehouseName() {
|
||||
return parentWarehouseName;
|
||||
}
|
||||
|
||||
public void setParentWarehouseName(String parentWarehouseName) {
|
||||
this.parentWarehouseName = parentWarehouseName;
|
||||
}
|
||||
|
||||
public void setOperationTime(Date operationTime)
|
||||
{
|
||||
this.operationTime = operationTime;
|
||||
}
|
||||
|
||||
public Date getOperationTime()
|
||||
{
|
||||
return operationTime;
|
||||
}
|
||||
|
||||
public Integer getOperator() {
|
||||
return operator;
|
||||
}
|
||||
|
||||
public void setOperator(Integer operator) {
|
||||
this.operator = operator;
|
||||
}
|
||||
|
||||
public String getOperatorName() {
|
||||
return operatorName;
|
||||
}
|
||||
|
||||
public void setOperatorName(String operatorName) {
|
||||
this.operatorName = operatorName;
|
||||
}
|
||||
|
||||
public void setIsChuku(String isChuku)
|
||||
{
|
||||
this.isChuku = isChuku;
|
||||
}
|
||||
|
||||
public String getIsChuku()
|
||||
{
|
||||
return isChuku;
|
||||
}
|
||||
|
||||
public void setStatus(String status)
|
||||
{
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getStatus()
|
||||
{
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setBillNo(String billNo)
|
||||
{
|
||||
this.billNo = billNo;
|
||||
}
|
||||
|
||||
public String getBillNo()
|
||||
{
|
||||
return billNo;
|
||||
}
|
||||
|
||||
public void setXj(String xj)
|
||||
{
|
||||
this.xj = xj;
|
||||
}
|
||||
|
||||
public String getXj()
|
||||
{
|
||||
return xj;
|
||||
}
|
||||
|
||||
public void setXmNo(String xmNo)
|
||||
{
|
||||
this.xmNo = xmNo;
|
||||
}
|
||||
|
||||
public String getXmNo()
|
||||
{
|
||||
return xmNo;
|
||||
}
|
||||
|
||||
public void setXmMs(String xmMs)
|
||||
{
|
||||
this.xmMs = xmMs;
|
||||
}
|
||||
|
||||
public String getXmMs()
|
||||
{
|
||||
return xmMs;
|
||||
}
|
||||
|
||||
public void setXmNoCk(String xmNoCk)
|
||||
{
|
||||
this.xmNoCk = xmNoCk;
|
||||
}
|
||||
|
||||
public String getXmNoCk()
|
||||
{
|
||||
return xmNoCk;
|
||||
}
|
||||
|
||||
public void setXmMsCk(String xmMsCk)
|
||||
{
|
||||
this.xmMsCk = xmMsCk;
|
||||
}
|
||||
|
||||
public String getXmMsCk()
|
||||
{
|
||||
return xmMsCk;
|
||||
}
|
||||
|
||||
public void setWlNo(String wlNo)
|
||||
{
|
||||
this.wlNo = wlNo;
|
||||
}
|
||||
|
||||
public String getWlNo()
|
||||
{
|
||||
return wlNo;
|
||||
}
|
||||
|
||||
public void setWlMs(String wlMs)
|
||||
{
|
||||
this.wlMs = wlMs;
|
||||
}
|
||||
|
||||
public String getWlMs()
|
||||
{
|
||||
return wlMs;
|
||||
}
|
||||
|
||||
public void setGysNo(String gysNo)
|
||||
{
|
||||
this.gysNo = gysNo;
|
||||
}
|
||||
|
||||
public String getGysNo()
|
||||
{
|
||||
return gysNo;
|
||||
}
|
||||
|
||||
public void setGysMc(String gysMc)
|
||||
{
|
||||
this.gysMc = gysMc;
|
||||
}
|
||||
|
||||
public String getGysMc()
|
||||
{
|
||||
return gysMc;
|
||||
}
|
||||
|
||||
public void setJhAmt(BigDecimal jhAmt)
|
||||
{
|
||||
this.jhAmt = jhAmt;
|
||||
}
|
||||
|
||||
public BigDecimal getJhAmt()
|
||||
{
|
||||
return jhAmt;
|
||||
}
|
||||
|
||||
public void setHtDj(BigDecimal htDj)
|
||||
{
|
||||
this.htDj = htDj;
|
||||
}
|
||||
|
||||
public BigDecimal getHtDj()
|
||||
{
|
||||
return htDj;
|
||||
}
|
||||
|
||||
public void setSapNo(String sapNo)
|
||||
{
|
||||
this.sapNo = sapNo;
|
||||
}
|
||||
|
||||
public String getSapNo()
|
||||
{
|
||||
return sapNo;
|
||||
}
|
||||
|
||||
public void setXh(String xh)
|
||||
{
|
||||
this.xh = xh;
|
||||
}
|
||||
|
||||
public String getXh()
|
||||
{
|
||||
return xh;
|
||||
}
|
||||
|
||||
public void setJhQty(BigDecimal jhQty)
|
||||
{
|
||||
this.jhQty = jhQty;
|
||||
}
|
||||
|
||||
public BigDecimal getJhQty()
|
||||
{
|
||||
return jhQty;
|
||||
}
|
||||
|
||||
public void setHtQty(BigDecimal htQty)
|
||||
{
|
||||
this.htQty = htQty;
|
||||
}
|
||||
|
||||
public BigDecimal getHtQty()
|
||||
{
|
||||
return htQty;
|
||||
}
|
||||
|
||||
public void setDw(String dw)
|
||||
{
|
||||
this.dw = dw;
|
||||
}
|
||||
|
||||
public String getDw()
|
||||
{
|
||||
return dw;
|
||||
}
|
||||
|
||||
public void setRealQty(BigDecimal realQty)
|
||||
{
|
||||
this.realQty = realQty;
|
||||
}
|
||||
|
||||
public BigDecimal getRealQty()
|
||||
{
|
||||
return realQty;
|
||||
}
|
||||
|
||||
public BigDecimal getTotalAmount() {
|
||||
return totalAmount;
|
||||
}
|
||||
|
||||
public void setTotalAmount(BigDecimal totalAmount) {
|
||||
this.totalAmount = totalAmount;
|
||||
}
|
||||
|
||||
public void setPcode(String pcode)
|
||||
{
|
||||
this.pcode = pcode;
|
||||
}
|
||||
|
||||
public String getPcode()
|
||||
{
|
||||
return pcode;
|
||||
}
|
||||
|
||||
public void setPcodeId(String pcodeId)
|
||||
{
|
||||
this.pcodeId = pcodeId;
|
||||
}
|
||||
|
||||
public String getPcodeId()
|
||||
{
|
||||
return pcodeId;
|
||||
}
|
||||
|
||||
public void setTrayCode(String trayCode)
|
||||
{
|
||||
this.trayCode = trayCode;
|
||||
}
|
||||
|
||||
public String getTrayCode()
|
||||
{
|
||||
return trayCode;
|
||||
}
|
||||
|
||||
public void setEntityId(String entityId)
|
||||
{
|
||||
this.entityId = entityId;
|
||||
}
|
||||
|
||||
public String getEntityId()
|
||||
{
|
||||
return entityId;
|
||||
}
|
||||
|
||||
public void setTeamCode(String teamCode)
|
||||
{
|
||||
this.teamCode = teamCode;
|
||||
}
|
||||
|
||||
public String getTeamCode()
|
||||
{
|
||||
return teamCode;
|
||||
}
|
||||
|
||||
public String getTeamName() {
|
||||
return teamName;
|
||||
}
|
||||
|
||||
public void setTeamName(String teamName) {
|
||||
this.teamName = teamName;
|
||||
}
|
||||
|
||||
public void setBorrowTime(Date borrowTime)
|
||||
{
|
||||
this.borrowTime = borrowTime;
|
||||
}
|
||||
|
||||
public Date getBorrowTime()
|
||||
{
|
||||
return borrowTime;
|
||||
}
|
||||
|
||||
public void setReturnTime(Date returnTime)
|
||||
{
|
||||
this.returnTime = returnTime;
|
||||
}
|
||||
|
||||
public Date getReturnTime()
|
||||
{
|
||||
return returnTime;
|
||||
}
|
||||
|
||||
public void setHasMoved(String hasMoved)
|
||||
{
|
||||
this.hasMoved = hasMoved;
|
||||
}
|
||||
|
||||
public String getHasMoved()
|
||||
{
|
||||
return hasMoved;
|
||||
}
|
||||
|
||||
public void setIsBorrowed(String isBorrowed)
|
||||
{
|
||||
this.isBorrowed = isBorrowed;
|
||||
}
|
||||
|
||||
public String getIsBorrowed()
|
||||
{
|
||||
return isBorrowed;
|
||||
}
|
||||
|
||||
public void setIsDelete(String isDelete)
|
||||
{
|
||||
this.isDelete = isDelete;
|
||||
}
|
||||
|
||||
public String getIsDelete()
|
||||
{
|
||||
return isDelete;
|
||||
}
|
||||
|
||||
public void setGysJhId(Long gysJhId)
|
||||
{
|
||||
this.gysJhId = gysJhId;
|
||||
}
|
||||
|
||||
public Long getGysJhId()
|
||||
{
|
||||
return gysJhId;
|
||||
}
|
||||
|
||||
public void setRdid(Long rdid)
|
||||
{
|
||||
this.rdid = rdid;
|
||||
}
|
||||
|
||||
public Long getRdid()
|
||||
{
|
||||
return rdid;
|
||||
}
|
||||
|
||||
public void setRdidCk(Long rdidCk)
|
||||
{
|
||||
this.rdidCk = rdidCk;
|
||||
}
|
||||
|
||||
public Long getRdidCk()
|
||||
{
|
||||
return rdidCk;
|
||||
}
|
||||
|
||||
public void setSid(Long sid)
|
||||
{
|
||||
this.sid = sid;
|
||||
}
|
||||
|
||||
public Long getSid()
|
||||
{
|
||||
return sid;
|
||||
}
|
||||
|
||||
public void setIsDelivery(String isDelivery)
|
||||
{
|
||||
this.isDelivery = isDelivery;
|
||||
}
|
||||
|
||||
public String getIsDelivery()
|
||||
{
|
||||
return isDelivery;
|
||||
}
|
||||
|
||||
public void setFycde1(String fycde1)
|
||||
{
|
||||
this.fycde1 = fycde1;
|
||||
}
|
||||
|
||||
public String getFycde1()
|
||||
{
|
||||
return fycde1;
|
||||
}
|
||||
|
||||
public void setFycde2(String fycde2)
|
||||
{
|
||||
this.fycde2 = fycde2;
|
||||
}
|
||||
|
||||
public String getFycde2()
|
||||
{
|
||||
return fycde2;
|
||||
}
|
||||
|
||||
public void setIsUpdate(Long isUpdate)
|
||||
{
|
||||
this.isUpdate = isUpdate;
|
||||
}
|
||||
|
||||
public Long getIsUpdate()
|
||||
{
|
||||
return isUpdate;
|
||||
}
|
||||
|
||||
public Date getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
public void setStartDate(Date startDate) {
|
||||
this.startDate = startDate;
|
||||
}
|
||||
|
||||
public Date getEndDate() {
|
||||
return endDate;
|
||||
}
|
||||
|
||||
public void setEndDate(Date endDate) {
|
||||
this.endDate = endDate;
|
||||
}
|
||||
|
||||
public Long getRkInfoId() {
|
||||
return rkInfoId;
|
||||
}
|
||||
|
||||
public void setRkInfoId(Long rkInfoId) {
|
||||
this.rkInfoId = rkInfoId;
|
||||
}
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
public BigDecimal getWeightKg() {
|
||||
return weightKg;
|
||||
}
|
||||
|
||||
public void setWeightKg(BigDecimal weightKg) {
|
||||
this.weightKg = weightKg;
|
||||
}
|
||||
|
||||
public BigDecimal getVolumeM3() {
|
||||
return volumeM3;
|
||||
}
|
||||
|
||||
public void setVolumeM3(BigDecimal volumeM3) {
|
||||
this.volumeM3 = volumeM3;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("ids", ids)
|
||||
.append("bizType", getBizType())
|
||||
.append("operationType", getOperationType())
|
||||
.append("operationTypeName", operationTypeName)
|
||||
.append("execStatus", getExecStatus())
|
||||
.append("stockAge", getStockAge())
|
||||
.append("wlType", getWlType())
|
||||
.append("wlTypeName", wlTypeName)
|
||||
.append("cangku", getCangku())
|
||||
.append("warehouseName", getWarehouseName())
|
||||
.append("parentWarehouseCode", getParentWarehouseCode())
|
||||
.append("parentWarehouseName", getParentWarehouseName())
|
||||
.append("operationTime", getOperationTime())
|
||||
.append("operator", getOperator())
|
||||
.append("operatorName", operatorName)
|
||||
.append("isChuku", getIsChuku())
|
||||
.append("status", getStatus())
|
||||
.append("remark", getRemark())
|
||||
.append("billNo", getBillNo())
|
||||
.append("xj", getXj())
|
||||
.append("xmNo", getXmNo())
|
||||
.append("xmMs", getXmMs())
|
||||
.append("xmNoCk", getXmNoCk())
|
||||
.append("xmMsCk", getXmMsCk())
|
||||
.append("wlNo", getWlNo())
|
||||
.append("wlMs", getWlMs())
|
||||
.append("gysNo", getGysNo())
|
||||
.append("gysMc", getGysMc())
|
||||
.append("jhAmt", getJhAmt())
|
||||
.append("htDj", getHtDj())
|
||||
.append("sapNo", getSapNo())
|
||||
.append("xh", getXh())
|
||||
.append("jhQty", getJhQty())
|
||||
.append("htQty", getHtQty())
|
||||
.append("dw", getDw())
|
||||
.append("realQty", getRealQty())
|
||||
.append("totalAmount", totalAmount)
|
||||
.append("pcode", getPcode())
|
||||
.append("pcodeId", getPcodeId())
|
||||
.append("trayCode", getTrayCode())
|
||||
.append("entityId", getEntityId())
|
||||
.append("teamCode", getTeamCode())
|
||||
.append("teamName", teamName)
|
||||
.append("borrowTime", getBorrowTime())
|
||||
.append("returnTime", getReturnTime())
|
||||
.append("hasMoved", getHasMoved())
|
||||
.append("isBorrowed", getIsBorrowed())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("isDelete", getIsDelete())
|
||||
.append("gysJhId", getGysJhId())
|
||||
.append("rdid", getRdid())
|
||||
.append("rdidCk", getRdidCk())
|
||||
.append("sid", getSid())
|
||||
.append("isDelivery", getIsDelivery())
|
||||
.append("fycde1", getFycde1())
|
||||
.append("fycde2", getFycde2())
|
||||
.append("isUpdate", getIsUpdate())
|
||||
.append("startDate", startDate)
|
||||
.append("endDate", endDate)
|
||||
.append("rkInfoId", getRkInfoId())
|
||||
.append("weightKg", getWeightKg())
|
||||
.append("volumeM3", getVolumeM3())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.delivery.project.document.domain.vo;
|
||||
|
||||
import com.delivery.project.document.domain.RkInfo;
|
||||
import com.delivery.project.document.domain.RkRecord;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -8,23 +9,31 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 智慧实物-待配送出库单据 VO(1 对多)
|
||||
* 待配送出库单据 VO
|
||||
* 以 rk_bill 为主 + 多条 rk_record 明细
|
||||
*/
|
||||
@Data
|
||||
public class DeliveryBillVO implements Serializable {
|
||||
|
||||
/** 出库单据号(bill_no_ck) */
|
||||
private String billNoCk;
|
||||
/** 单据号(对应 rk_bill.bill_no) */
|
||||
private String billNo;
|
||||
|
||||
/** 出库理货员 */
|
||||
private String ckLihuoY;
|
||||
|
||||
/** 施工队/班组 */
|
||||
/** 施工队编码 */
|
||||
private String teamCode;
|
||||
|
||||
/** 领用时间(出库时间) */
|
||||
private Date lyTime;
|
||||
/** 施工队名称 */
|
||||
private String teamName;
|
||||
|
||||
/** 该出库单据下的所有货物明细 */
|
||||
private List<RkInfo> detailList;
|
||||
/** 理货员名称 */
|
||||
private String operatorName;
|
||||
|
||||
/** 出库/操作时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date operationTime;
|
||||
|
||||
/** 是否需要配送(0否,1是,2配送中,3配送完成) */
|
||||
private String isDelivery;
|
||||
|
||||
/** 该单据下的货物明细 */
|
||||
private List<RkRecord> recordList;
|
||||
}
|
||||
|
||||
@@ -12,9 +12,7 @@ import com.delivery.common.utils.SecurityUtils;
|
||||
import com.delivery.common.utils.StringUtils;
|
||||
import com.delivery.common.utils.http.HttpUtils;
|
||||
import com.delivery.framework.web.domain.AjaxResult;
|
||||
import com.delivery.project.document.domain.DeliveryAttachment;
|
||||
import com.delivery.project.document.domain.Mtd;
|
||||
import com.delivery.project.document.domain.RkInfo;
|
||||
import com.delivery.project.document.domain.*;
|
||||
import com.delivery.project.document.domain.dto.*;
|
||||
import com.delivery.project.document.domain.vo.*;
|
||||
import com.delivery.project.document.mapper.DeliveryAttachmentMapper;
|
||||
@@ -26,7 +24,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.delivery.project.document.mapper.DeliveryOrderMapper;
|
||||
import com.delivery.project.document.domain.DeliveryOrder;
|
||||
import com.delivery.project.document.service.IDeliveryOrderService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -395,22 +392,27 @@ public class DeliveryOrderServiceImpl implements IDeliveryOrderService
|
||||
* @return List<RkInfo>
|
||||
*/
|
||||
@Override
|
||||
public List<DeliveryBillVO> listWisdomRkForDelivery(String billNoCk) {
|
||||
public List<DeliveryBillVO> listWisdomRkForDelivery(String billNo) {
|
||||
|
||||
// 1. 远程接口地址
|
||||
String url = wisdomBaseUrl + "/wisdom/stock/delivery/list";
|
||||
// ====================== 1. 远程接口地址 ======================
|
||||
String url = wisdomBaseUrl + "/wisdom/bill/delivery/list";
|
||||
|
||||
// ====================== 2. 组装参数(按 rk_bill 体系) ======================
|
||||
StringBuilder param = new StringBuilder();
|
||||
param.append("pageNum=1");
|
||||
param.append("&pageSize=1000");
|
||||
param.append("&isChuku=1"); // 已出库
|
||||
param.append("&isDelivery=1"); // 需要配送
|
||||
|
||||
if (StringUtils.isNotBlank(billNoCk)) {
|
||||
param.append("&billNoCk=").append(billNoCk);
|
||||
// 已完成的出库单据 + 需要配送
|
||||
param.append("&execStatus=1");
|
||||
param.append("&isDelivery=1");
|
||||
|
||||
if (StringUtils.isNotBlank(billNo)) {
|
||||
param.append("&billNo=").append(billNo);
|
||||
}
|
||||
// 3. 调用智慧实物系统
|
||||
|
||||
// ====================== 3. 调用智慧实物系统 ======================
|
||||
String respJson = HttpUtils.sendGet(url, param.toString());
|
||||
|
||||
if (StringUtils.isEmpty(respJson)) {
|
||||
throw new ServiceException("调用智慧实物接口失败:返回结果为空");
|
||||
}
|
||||
@@ -431,14 +433,14 @@ public class DeliveryOrderServiceImpl implements IDeliveryOrderService
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
// 4. 反序列化为一对多结构:DeliveryBillVO(detailList 中是 RkInfo)
|
||||
// ====================== 4. 反序列化为新结构 ======================
|
||||
List<DeliveryBillVO> list = data.toJavaList(DeliveryBillVO.class);
|
||||
|
||||
// 5. 收集所有 wlNo
|
||||
// ====================== 5. 收集所有物料号 ======================
|
||||
Set<String> wlNoSet = list.stream()
|
||||
.filter(bill -> bill.getDetailList() != null && !bill.getDetailList().isEmpty())
|
||||
.flatMap(bill -> bill.getDetailList().stream())
|
||||
.map(RkInfo::getWlNo)
|
||||
.filter(bill -> bill.getRecordList() != null && !bill.getRecordList().isEmpty())
|
||||
.flatMap(bill -> bill.getRecordList().stream())
|
||||
.map(RkRecord::getWlNo)
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
@@ -446,13 +448,13 @@ public class DeliveryOrderServiceImpl implements IDeliveryOrderService
|
||||
return list;
|
||||
}
|
||||
|
||||
// 6. 一次性查询本地 delivery_mtd
|
||||
// ====================== 6. 查询本地物料扩展信息 ======================
|
||||
List<Mtd> mtdList = mtdMapper.selectByWlNos(new ArrayList<>(wlNoSet));
|
||||
|
||||
if (mtdList == null || mtdList.isEmpty()) {
|
||||
return list;
|
||||
}
|
||||
|
||||
// 7. 转为 Map<wlNo, Mtd>
|
||||
Map<String, Mtd> mtdMap = mtdList.stream()
|
||||
.collect(Collectors.toMap(
|
||||
Mtd::getWlNo,
|
||||
@@ -460,15 +462,19 @@ public class DeliveryOrderServiceImpl implements IDeliveryOrderService
|
||||
(a, b) -> a
|
||||
));
|
||||
|
||||
// 8. 回填到每一条 RkInfo 上
|
||||
// ====================== 7. 回填重量/体积 ======================
|
||||
for (DeliveryBillVO bill : list) {
|
||||
if (bill.getDetailList() == null) {
|
||||
|
||||
if (bill.getRecordList() == null) {
|
||||
continue;
|
||||
}
|
||||
for (RkInfo rk : bill.getDetailList()) {
|
||||
|
||||
for (RkRecord rk : bill.getRecordList()) {
|
||||
|
||||
if (rk == null || StringUtils.isBlank(rk.getWlNo())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Mtd m = mtdMap.get(rk.getWlNo());
|
||||
if (m != null) {
|
||||
rk.setWeightKg(m.getWeightKg());
|
||||
@@ -476,10 +482,10 @@ public class DeliveryOrderServiceImpl implements IDeliveryOrderService
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
// ======================== 统计 ========================
|
||||
|
||||
@Override
|
||||
|
||||
@@ -22,7 +22,7 @@ delivery:
|
||||
|
||||
# 开发环境配置
|
||||
server:
|
||||
port: 8087
|
||||
port: 8088
|
||||
servlet:
|
||||
context-path: /
|
||||
tomcat:
|
||||
@@ -127,7 +127,7 @@ upload:
|
||||
base-url: http://192.168.1.250/files
|
||||
|
||||
wisdom:
|
||||
base-url: http://192.168.1.5:8086
|
||||
base-url: http://192.168.1.5:8087
|
||||
|
||||
# =============== OCR 服务核心配置 ===============
|
||||
ocr:
|
||||
|
||||
Reference in New Issue
Block a user