Merge remote-tracking branch 'origin/master-hlq20260506ganggoubao'
# Conflicts: # nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java
This commit is contained in:
commit
1c472cd0a7
File diff suppressed because it is too large
Load Diff
|
|
@ -2,30 +2,32 @@ package com.nflg.wms.admin.service;
|
|||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.lang.Pair;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nflg.wms.admin.pojo.dto.PdfPageDTO;
|
||||
import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO;
|
||||
import com.nflg.wms.admin.pojo.dto.ZWM3A17Item1DTO;
|
||||
import com.nflg.wms.admin.util.PdfGeneratorUtil;
|
||||
import com.nflg.wms.admin.util.QRCodeUtil;
|
||||
import com.nflg.wms.admin.util.ThymeleafUtil;
|
||||
import com.nflg.wms.common.constant.Constant;
|
||||
import com.nflg.wms.common.constant.STATE;
|
||||
import com.nflg.wms.common.pojo.ApiResult;
|
||||
import com.nflg.wms.common.pojo.PageData;
|
||||
import com.nflg.wms.common.pojo.dto.*;
|
||||
import com.nflg.wms.common.pojo.dto.BomMaterialDTO;
|
||||
import com.nflg.wms.common.pojo.dto.PackageMaterialDTO;
|
||||
import com.nflg.wms.common.pojo.dto.PackageMaterialExcelExportDTO;
|
||||
import com.nflg.wms.common.pojo.dto.PackageMaterialExcelImportDTO;
|
||||
import com.nflg.wms.common.pojo.qo.*;
|
||||
import com.nflg.wms.common.pojo.vo.PackageVO;
|
||||
import com.nflg.wms.common.util.DateTimeUtil;
|
||||
import com.nflg.wms.common.util.EecExcelUtil;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.common.util.VUtil;
|
||||
import com.nflg.wms.repository.entity.*;
|
||||
import com.nflg.wms.repository.entity.WmsInTaskItem;
|
||||
import com.nflg.wms.repository.entity.WmsMaterial;
|
||||
import com.nflg.wms.repository.entity.WmsModel;
|
||||
import com.nflg.wms.repository.entity.WmsStructuralPackage;
|
||||
import com.nflg.wms.repository.service.*;
|
||||
import com.nflg.wms.starter.service.BomMaterialService;
|
||||
import com.nflg.wms.starter.service.FileUploadService;
|
||||
|
|
@ -184,8 +186,8 @@ public class StructuralPackageControllerService {
|
|||
.addSheet(new ListSheet<>(List.of(new PackageMaterialExcelExportDTO()
|
||||
.setNo("(必填)零件编码")
|
||||
.setName("(必填)零件名称")
|
||||
.setStation("(必填)工位序号")
|
||||
.setTray("(必填)托盘序号")
|
||||
// .setStation("(必填)工位序号")
|
||||
// .setTray("(必填)托盘序号")
|
||||
.setWeight(BigDecimal.ZERO)
|
||||
.setNum(BigDecimal.ZERO)
|
||||
.setVersion("(必填)图纸版本"))))
|
||||
|
|
@ -200,8 +202,8 @@ public class StructuralPackageControllerService {
|
|||
datas.add(new PackageMaterialExcelExportDTO()
|
||||
.setNo("(必填)零件编码")
|
||||
.setName("(必填)零件名称")
|
||||
.setStation("(必填)工位序号")
|
||||
.setTray("(必填)托盘序号")
|
||||
// .setStation("(必填)工位序号")
|
||||
// .setTray("(必填)托盘序号")
|
||||
.setWeight(BigDecimal.ZERO)
|
||||
.setNum(BigDecimal.ZERO)
|
||||
.setVersion("(必填)图纸版本"));
|
||||
|
|
@ -250,16 +252,16 @@ public class StructuralPackageControllerService {
|
|||
} else {
|
||||
materialDTO.setName(dto.getName());
|
||||
}
|
||||
if (StrUtil.isBlank(dto.getStation())) {
|
||||
/*if (StrUtil.isBlank(dto.getStation())) {
|
||||
sb.append("工位序号不能为空;");
|
||||
} else {
|
||||
} else {*/
|
||||
materialDTO.setStation(dto.getStation());
|
||||
}
|
||||
/*}
|
||||
if (StrUtil.isBlank(dto.getTray())) {
|
||||
sb.append("托盘序号不能为空;");
|
||||
} else {
|
||||
} else {*/
|
||||
materialDTO.setTray(dto.getTray());
|
||||
}
|
||||
// }
|
||||
if (StrUtil.isBlank(dto.getNum())) {
|
||||
sb.append("数量不能为空;");
|
||||
} else if (!NumberUtils.isCreatable(dto.getNum())) {
|
||||
|
|
@ -353,8 +355,12 @@ public class StructuralPackageControllerService {
|
|||
&& packageService.lambdaQuery().eq(WmsStructuralPackage::getNo, packageInfo.getNo()).exists())
|
||||
.throwMessage("修改日志不能为空");
|
||||
break;
|
||||
case 6:
|
||||
BigDecimal trayNum = row.getDecimal(1);
|
||||
packageInfo.setTrayNum(trayNum);
|
||||
break;
|
||||
default:
|
||||
if (row.getRowNum() > 7) {
|
||||
if (row.getRowNum() > 8) {
|
||||
String mno = StrUtil.trim(row.getString(0));
|
||||
if (StrUtil.isBlank(mno)) {
|
||||
// sb.append(StrUtil.format("第{}行零件编码不能为空;", row.getRowNum()));
|
||||
|
|
@ -370,15 +376,14 @@ public class StructuralPackageControllerService {
|
|||
dto.setName(material1.getDescribe());
|
||||
dto.setDrawingNo(material1.getDrawingNo());
|
||||
dto.setImage(material1.getImage());
|
||||
String v = row.getString(6);
|
||||
String v = row.getString(5);
|
||||
if (StrUtil.isNotBlank(v)) {
|
||||
dto.setVersion(v);
|
||||
} else {
|
||||
dto.setVersion(material1.getVersion());
|
||||
}
|
||||
dto.setStation(row.getString(2));
|
||||
dto.setTray(row.getString(3));
|
||||
String num = row.getString(4);
|
||||
String num = row.getString(3);
|
||||
if (StrUtil.isBlank(num)) {
|
||||
sb.append(StrUtil.format("第{}行数量不能为空;", row.getRowNum()));
|
||||
} else if (!NumberUtils.isCreatable(num)) {
|
||||
|
|
@ -386,13 +391,13 @@ public class StructuralPackageControllerService {
|
|||
} else {
|
||||
dto.setNum(new BigDecimal(num));
|
||||
}
|
||||
num = row.getString(5);
|
||||
if (StrUtil.isBlank(num)) {
|
||||
String singleWeight = row.getString(4);
|
||||
if (StrUtil.isBlank(singleWeight)) {
|
||||
sb.append(StrUtil.format("第{}行重量不能为空;", row.getRowNum()));
|
||||
} else if (!NumberUtils.isCreatable(num)) {
|
||||
} else if (!NumberUtils.isCreatable(singleWeight)) {
|
||||
sb.append(StrUtil.format("第{}行重量无效;", row.getRowNum()));
|
||||
} else {
|
||||
dto.setWeight(new BigDecimal(num));
|
||||
dto.setWeight(new BigDecimal(singleWeight));
|
||||
}
|
||||
dto.setCreateBy(UserUtil.getUserName());
|
||||
dto.setCreateTime(DateTimeUtil.format(LocalDate.now(), "yyyy-MM-dd"));
|
||||
|
|
|
|||
|
|
@ -49,8 +49,7 @@ public class NoUtil {
|
|||
return new StructuralPackageMaterialQRCodeContentDTO()
|
||||
.setUniqNo(c1s.size() == 1 ? qrCode : CollectionUtil.get(c1s, 0))
|
||||
.setMaterialNo(c1s.size() == 1 ? CollectionUtil.get(c1s, 0) : CollectionUtil.get(c1s, 1))
|
||||
.setTrayNo(CollectionUtil.get(contents, 1))
|
||||
.setNum(new BigDecimal(CollectionUtil.get(contents, 2)))
|
||||
.setNum(new BigDecimal(CollectionUtil.get(contents, 1)))
|
||||
.setContent(qrCode);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,7 +109,8 @@
|
|||
<tr>
|
||||
<td>订单号:<span th:text="${info.externalOrderNo}">12255665451615</span></td>
|
||||
<td>行号:<span th:text="${info.rowNo}">1111</span></td>
|
||||
<td>托盘号:<span th:text="${info.trayNo}">1111</span></td>
|
||||
<!-- 托盘号已移除,保留空单元格 -->
|
||||
<td></td>
|
||||
<td colspan="2">供应商:<span th:text="${info.supplierName}">1111</span></td>
|
||||
<td rowspan="3" class="cell-img" style="width: 130px;">
|
||||
<img alt="" style="width: 100px;" th:src="${info.qrCode}" src="../img/logo1.png"/>
|
||||
|
|
@ -149,4 +150,4 @@
|
|||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -0,0 +1,52 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 差异项QO
|
||||
*/
|
||||
@Data
|
||||
public class DiffItemQO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 物料编号
|
||||
*/
|
||||
@NotBlank(message = "物料编号不能为空")
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
@NotBlank(message = "物料描述不能为空")
|
||||
private String materialDesc;
|
||||
|
||||
/**
|
||||
* 出货数量
|
||||
*/
|
||||
@NotNull(message = "出货数量不能为空")
|
||||
private Integer shipmentNum;
|
||||
|
||||
/**
|
||||
* 已装数量
|
||||
*/
|
||||
@NotNull(message = "已装数量不能为空")
|
||||
private Integer actualQty;
|
||||
|
||||
/**
|
||||
* 差异数量
|
||||
*/
|
||||
@NotNull(message = "差异数量不能为空")
|
||||
private Integer diffQty;
|
||||
|
||||
/**
|
||||
* 差异原因描述(必填)
|
||||
*/
|
||||
@NotBlank(message = "差异原因不能为空")
|
||||
private String remark;
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
|
|
@ -14,6 +15,12 @@ public class GenerateTrayQO {
|
|||
@NotNull
|
||||
private Long packageId;
|
||||
|
||||
/**
|
||||
* 供应商代码(6位数字)
|
||||
*/
|
||||
@NotBlank
|
||||
private String supplierCode;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 物料汇总QO(按物料编号统计)
|
||||
*/
|
||||
@Data
|
||||
public class MaterialSummaryQO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 物料编号
|
||||
*/
|
||||
@NotBlank(message = "物料编号不能为空")
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
@NotBlank(message = "物料描述不能为空")
|
||||
private String materialDesc;
|
||||
|
||||
/**
|
||||
* 所有托盘该物料的总数量
|
||||
*/
|
||||
@NotNull(message = "物料总数量不能为空")
|
||||
private Integer totalQty;
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 钢构件打包提交QO
|
||||
*/
|
||||
@Data
|
||||
public class PackTraySubmitQO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
@NotNull(message = "订单ID不能为空")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 托盘列表
|
||||
*/
|
||||
@NotEmpty(message = "托盘列表不能为空")
|
||||
@Valid
|
||||
private List<TraySubmitQO> trays;
|
||||
|
||||
/**
|
||||
* 物料汇总列表(按物料编号统计的总数量)
|
||||
*/
|
||||
@NotEmpty(message = "物料汇总列表不能为空")
|
||||
@Valid
|
||||
private List<MaterialSummaryQO> materialSummary;
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 钢构件打包提交带差异原因QO
|
||||
*/
|
||||
@Data
|
||||
public class PackTraySubmitWithDiffQO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
@NotNull(message = "订单ID不能为空")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 托盘列表
|
||||
*/
|
||||
@NotEmpty(message = "托盘列表不能为空")
|
||||
@Valid
|
||||
private List<TraySubmitQO> trays;
|
||||
|
||||
/**
|
||||
* 差异列表
|
||||
*/
|
||||
@NotEmpty(message = "差异列表不能为空")
|
||||
@Valid
|
||||
private List<DiffItemQO> diffList;
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 托盘物料QO
|
||||
*/
|
||||
@Data
|
||||
public class TrayMaterialQO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 物料编号
|
||||
*/
|
||||
@NotBlank(message = "物料编号不能为空")
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
@NotBlank(message = "物料描述不能为空")
|
||||
private String materialDesc;
|
||||
|
||||
/**
|
||||
* 二维码列表(该物料的所有条码)
|
||||
*/
|
||||
private List<String> qrCodes;
|
||||
|
||||
/**
|
||||
* 该物料的总数量
|
||||
*/
|
||||
@NotNull(message = "物料数量不能为空")
|
||||
private Integer totalQty;
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 托盘提交QO
|
||||
*/
|
||||
@Data
|
||||
public class TraySubmitQO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 托盘号
|
||||
*/
|
||||
@NotBlank(message = "托盘号不能为空")
|
||||
private String trayNo;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
@NotNull(message = "订单ID不能为空")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 托盘内物料明细
|
||||
*/
|
||||
@NotEmpty(message = "物料明细不能为空")
|
||||
@Valid
|
||||
private List<TrayMaterialQO> items;
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 修改钢构包订单托盘数量请求对象
|
||||
*/
|
||||
@Data
|
||||
public class UpdatePackageTrayNumQO {
|
||||
|
||||
/**
|
||||
* 钢构包订单ID
|
||||
*/
|
||||
@NotNull(message = "钢构包订单ID不能为空")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 托盘数量
|
||||
*/
|
||||
@NotNull(message = "托盘数量不能为空")
|
||||
private BigDecimal trayNum;
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ import lombok.Data;
|
|||
import lombok.experimental.Accessors;
|
||||
import org.ttzero.excel.annotation.ExcelColumn;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Objects;
|
||||
|
||||
@Data
|
||||
|
|
@ -63,6 +64,11 @@ public class DeliverStructuralPackageOrderExtendVO extends DeliverStructuralPack
|
|||
*/
|
||||
private Short totalNum;
|
||||
|
||||
/**
|
||||
* 托盘数量
|
||||
*/
|
||||
private BigDecimal trayNum;
|
||||
|
||||
public String getStateDesc() {
|
||||
if (Objects.isNull(state)) {
|
||||
return "";
|
||||
|
|
|
|||
|
|
@ -8,6 +8,11 @@ import java.util.List;
|
|||
@Data
|
||||
public class DeliverStructuralPackageOrderTrayVO {
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 供应商代码
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 差异项VO
|
||||
*/
|
||||
@Data
|
||||
public class DiffItemVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 物料编号
|
||||
*/
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
private String materialDesc;
|
||||
|
||||
/**
|
||||
* 出货数量
|
||||
*/
|
||||
private Integer shipmentNum;
|
||||
|
||||
/**
|
||||
* 已装数量
|
||||
*/
|
||||
private Integer actualQty;
|
||||
|
||||
/**
|
||||
* 差异数量
|
||||
*/
|
||||
private Integer diffQty;
|
||||
|
||||
/**
|
||||
* 差异原因描述(必填)
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 打包提交返回结果VO
|
||||
*/
|
||||
@Data
|
||||
public class PackTraySubmitResultVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 是否有差异
|
||||
*/
|
||||
private Boolean hasDiff;
|
||||
|
||||
/**
|
||||
* 差异列表(如果有差异)
|
||||
*/
|
||||
private List<DiffItemVO> diffList;
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
*/
|
||||
private String message;
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 钢构件打包提交带差异原因VO
|
||||
*/
|
||||
@Data
|
||||
public class PackTraySubmitWithDiffVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 托盘列表
|
||||
*/
|
||||
private List<TrayItemVO2> trays;
|
||||
|
||||
/**
|
||||
* 差异列表
|
||||
*/
|
||||
private List<DiffItemVO> diffList;
|
||||
}
|
||||
|
|
@ -58,6 +58,11 @@ public class PackageVO {
|
|||
*/
|
||||
private BigDecimal weight;
|
||||
|
||||
/**
|
||||
* 托盘数量
|
||||
*/
|
||||
private BigDecimal trayNum;
|
||||
|
||||
/**
|
||||
* 种类
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 托盘项VO
|
||||
*/
|
||||
@Data
|
||||
public class TrayItemVO2 implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 托盘号
|
||||
*/
|
||||
private String trayNo;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 托盘内物料明细
|
||||
*/
|
||||
private List<TrayMaterialVO> items;
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 托盘物料VO
|
||||
*/
|
||||
@Data
|
||||
public class TrayMaterialVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 物料编号
|
||||
*/
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
private String materialDesc;
|
||||
|
||||
/**
|
||||
* 二维码列表(该物料的所有条码)
|
||||
*/
|
||||
private List<String> qrCodes;
|
||||
|
||||
/**
|
||||
* 该物料的总数量
|
||||
*/
|
||||
private Integer totalQty;
|
||||
}
|
||||
|
|
@ -20,4 +20,9 @@ public interface WmsStructuralPackageOrderTrayItemMapper extends BaseMapper<WmsS
|
|||
List<DeliverStructuralPackageOrderTrayItemVO> getListByTrayId(Long id);
|
||||
|
||||
List<DeliverStructuralPackageOrderTrayItemSimpleVO> getSimpleListByTrayNo(String trayNo);
|
||||
|
||||
/**
|
||||
* 根据订单ID获取物料项列表(不依赖托盘关联)
|
||||
*/
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> getListByOrderId(Long orderId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,4 +31,9 @@ public interface IWmsStructuralPackageOrderTrayItemService extends IService<WmsS
|
|||
List<DeliverStructuralPackageOrderTrayItemSimpleVO> getSimpleListByTrayNo(@Valid @NotBlank String trayNo);
|
||||
|
||||
List<WmsStructuralPackageOrderTrayItem> getListByTrayId(Long id);
|
||||
|
||||
/**
|
||||
* 根据订单ID获取物料项列表(不依赖托盘关联)
|
||||
*/
|
||||
List<DeliverStructuralPackageOrderTrayItemVO> getListVOByOrderId(@Valid @NotNull Long orderId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,4 +54,9 @@ public class WmsStructuralPackageOrderTrayItemServiceImpl extends ServiceImpl<Wm
|
|||
public List<WmsStructuralPackageOrderTrayItem> getListByTrayId(Long id) {
|
||||
return lambdaQuery().eq(WmsStructuralPackageOrderTrayItem::getTrayId, id).list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeliverStructuralPackageOrderTrayItemVO> getListVOByOrderId(Long orderId) {
|
||||
return baseMapper.getListByOrderId(orderId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,4 +21,16 @@
|
|||
where ot.no=#{trayNo}
|
||||
order by oti.id
|
||||
</select>
|
||||
|
||||
<select id="getListByOrderId" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayItemVO">
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY oti.id) AS "index",m.image,m.drawing_no,oti.*,ot."no" as "tray_no",ot."state",
|
||||
sp."no" as "package_no",sp."name" as "package_desc"
|
||||
FROM wms_structural_package_order o
|
||||
INNER JOIN wms_structural_package_order_tray_item oti ON o."id"=oti.order_id
|
||||
LEFT JOIN wms_structural_package_order_tray ot ON oti.tray_id=ot."id"
|
||||
LEFT JOIN wms_structural_package sp ON o.package_id=sp."id"
|
||||
LEFT JOIN wms_material m ON oti.material_no=m."no" and oti."version"=m."version"
|
||||
where o.id=#{orderId}
|
||||
order by oti.id
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -3,17 +3,19 @@
|
|||
<mapper namespace="com.nflg.wms.repository.mapper.WmsStructuralPackageOrderTrayMapper">
|
||||
|
||||
<select id="searchByState" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderExtendVO">
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY o.id desc) AS "index",ot.id,o.*,m.no||wb."no" AS "workbench_code"
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY o.id desc) AS "index",o.*,m.no||wb."no" AS "workbench_code"
|
||||
,us.supplier_code,us.supplier_name,sp.order_no AS "package_order_no",sp."no" AS "package_no"
|
||||
,sp."name" AS "package_desc",m."no" AS "model_no",ot.no as "tray_no",ot.tray,ot.station,ot.state,spdom.deliver_id
|
||||
,sp."name" AS "package_desc",(SELECT COUNT(*) FROM wms_structural_package_order_tray ot WHERE ot.order_id=o.id) AS "trayNum",m."no" AS "model_no",'' as "tray_no",null as "tray",spdom.deliver_id
|
||||
FROM wms_structural_package_order o
|
||||
LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id"
|
||||
LEFT JOIN user_supplier us ON o.supplier_id=us.id
|
||||
LEFT JOIN wms_structural_package sp ON o.package_id=sp."id"
|
||||
LEFT JOIN wms_model m on o.model_id=m."id"
|
||||
inner join wms_structural_package_order_tray ot on o.id=ot.order_id
|
||||
left join wms_structural_package_deliver_order_map spdom on o.id=spdom.order_id
|
||||
where ot.state=#{request.state}
|
||||
where 1=1
|
||||
<if test="request.state!=null">
|
||||
and exists (select 1 from wms_structural_package_order_tray ot where ot.order_id=o.id and ot.state=#{request.state})
|
||||
</if>
|
||||
<if test="request.orderNo!=null and request.orderNo!=''">
|
||||
and o.order_no=#{request.orderNo}
|
||||
</if>
|
||||
|
|
@ -27,7 +29,7 @@
|
|||
and o.external_order_no=#{request.externalOrderNo}
|
||||
</if>
|
||||
<if test="request.trayNo!=null and request.trayNo!=''">
|
||||
and ot.no=#{request.trayNo}
|
||||
and exists (select 1 from wms_structural_package_order_tray ot where ot.order_id=o.id and ot.no=#{request.trayNo})
|
||||
</if>
|
||||
<if test="request.startDate!=null">
|
||||
and o.create_time>= #{request.startDate}
|
||||
|
|
@ -81,7 +83,7 @@
|
|||
</select>
|
||||
|
||||
<select id="getInfoByNo" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayVO">
|
||||
SELECT o.external_order_no,o.row_no,sp."no" AS "package_no",sp."name" AS "package_desc",ot.num,us.supplier_name
|
||||
SELECT ot.order_id,o.external_order_no,o.row_no,sp."no" AS "package_no",sp."name" AS "package_desc",ot.num,us.supplier_name
|
||||
,us.supplier_code,ot.state
|
||||
FROM wms_structural_package_order o
|
||||
LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id"
|
||||
|
|
|
|||
Loading…
Reference in New Issue