fix(inventory): 修正批次号赋值及物料扫码逻辑错误
- 将InProduceOrderController中批次号赋值改为使用item.getBatchNo() - 在bomService扫描类型判断后正确设置物料齐套状态isQiTao - 根据物料编号匹配替换接收物料查询条件中的ID匹配为materialNo匹配 - 统一调整各Controller中获取扫描类型type的缩进格式 - 修正OutProduceController中获取扫描类型的位置及相关逻辑 - 优化TransferCompanyController更新仓储信息逻辑,避免空列表更新异常 - 调整SapService日志等级,SAP返回表打印改为trace,避免日志过多 - 修正WmsStructuralPackageOrderMapper.xml中字段别名factory_code为factory_no
This commit is contained in:
parent
cf142fe4ea
commit
81b9f5c7bb
|
|
@ -224,7 +224,7 @@ public class InProduceOrderController extends BaseController {
|
||||||
dto.setPrintNum(DF.format(BigDecimal.ONE));
|
dto.setPrintNum(DF.format(BigDecimal.ONE));
|
||||||
}
|
}
|
||||||
dto.setSupplierCode("");
|
dto.setSupplierCode("");
|
||||||
dto.setBatchNo("");
|
dto.setBatchNo(item.getBatchNo());
|
||||||
dto.setQrCode(QRCodeUtil.generateQRCodeBase64(generateQRContent(dto, ""), 100, 100));
|
dto.setQrCode(QRCodeUtil.generateQRCodeBase64(generateQRContent(dto, ""), 100, 100));
|
||||||
datas.add(dto);
|
datas.add(dto);
|
||||||
}
|
}
|
||||||
|
|
@ -304,6 +304,7 @@ public class InProduceOrderController extends BaseController {
|
||||||
.toList();
|
.toList();
|
||||||
Integer type = bomService.getScanType(it.getMaterialNo());
|
Integer type = bomService.getScanType(it.getMaterialNo());
|
||||||
children.forEach(child -> {
|
children.forEach(child -> {
|
||||||
|
child.setQiTao(Objects.nonNull(type));
|
||||||
if (Objects.equals(type, 0)) {
|
if (Objects.equals(type, 0)) {
|
||||||
child.setMustScan(false);
|
child.setMustScan(false);
|
||||||
}
|
}
|
||||||
|
|
@ -355,7 +356,7 @@ public class InProduceOrderController extends BaseController {
|
||||||
datas.forEach(it -> {
|
datas.forEach(it -> {
|
||||||
InProduceOrderReceiveMaterialQO materialQO = request.getItems()
|
InProduceOrderReceiveMaterialQO materialQO = request.getItems()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(q -> Objects.equals(q.getId(), it.getId()))
|
.filter(q -> StrUtil.equals(q.getMaterialNo(), it.getMaterialNo()))
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
if (Objects.isNull(materialQO)) {
|
if (Objects.isNull(materialQO)) {
|
||||||
|
|
|
||||||
|
|
@ -281,7 +281,6 @@ public class OutProduceController extends BaseController {
|
||||||
WmsOutProduce order = outProduceService.lambdaQuery().eq(WmsOutProduce::getNo, no).one();
|
WmsOutProduce order = outProduceService.lambdaQuery().eq(WmsOutProduce::getNo, no).one();
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||||
List<WmsOutProduceItem> datas = outProduceItemService.getList(order.getId());
|
List<WmsOutProduceItem> datas = outProduceItemService.getList(order.getId());
|
||||||
Integer type = bomService.getScanType(order.getPlnbez());
|
|
||||||
return ApiResult.success(new OutProduce1VO()
|
return ApiResult.success(new OutProduce1VO()
|
||||||
.setId(order.getId())
|
.setId(order.getId())
|
||||||
.setAufnr(order.getAufnr())
|
.setAufnr(order.getAufnr())
|
||||||
|
|
@ -300,6 +299,7 @@ public class OutProduceController extends BaseController {
|
||||||
.setMeins(item.getMeins())
|
.setMeins(item.getMeins())
|
||||||
.setNum(item.getSqsl().subtract(item.getNum()));
|
.setNum(item.getSqsl().subtract(item.getNum()));
|
||||||
vo.setQiTao(bomService.isParent(item.getMatnr()));
|
vo.setQiTao(bomService.isParent(item.getMatnr()));
|
||||||
|
Integer type = bomService.getScanType(item.getMatnr());
|
||||||
if (vo.isQiTao() && Objects.equals(type, 1)) {
|
if (vo.isQiTao() && Objects.equals(type, 1)) {
|
||||||
vo.setChildren(bomService.getChildrenVO(item.getMatnr()));
|
vo.setChildren(bomService.getChildrenVO(item.getMatnr()));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -519,16 +519,19 @@ public class TransferCompanyController extends BaseController {
|
||||||
.setCreateTime(Instant.now())
|
.setCreateTime(Instant.now())
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
List<TransferCompanyItemVO> items = transferCompanyTicketItemService.getList(ticket.getId());
|
// List<TransferCompanyItemVO> items = transferCompanyTicketItemService.getList(ticket.getId());
|
||||||
items.removeIf(it -> qo.getItems().stream().anyMatch(q -> Objects.equals(q.getId(), it.getId())));
|
// items.removeIf(it -> qo.getItems().stream().anyMatch(q -> Objects.equals(q.getId(), it.getId())));
|
||||||
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(items))
|
// VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(items))
|
||||||
.throwMessage("以下物料未设置入库储位:" + StrUtil.join(",", items.stream().map(TransferCompanyItemVO::getMatnr).toList()));
|
// .throwMessage("以下物料未设置入库储位:" + StrUtil.join(",", items.stream().map(TransferCompanyItemVO::getMatnr).toList()));
|
||||||
List<WmsTransferCompanyTicketItem> ticketItems = qo.getItems().stream()
|
List<WmsTransferCompanyTicketItem> ticketItems = qo.getItems().stream()
|
||||||
|
.filter(it -> StrUtil.isNotBlank(it.getBinNos()))
|
||||||
.map(q -> new WmsTransferCompanyTicketItem()
|
.map(q -> new WmsTransferCompanyTicketItem()
|
||||||
.setId(q.getId())
|
.setId(q.getId())
|
||||||
.setBinNos1(q.getBinNos())
|
.setBinNos1(q.getBinNos())
|
||||||
).toList();
|
).toList();
|
||||||
transferCompanyTicketItemService.updateBatchById(ticketItems);
|
if (CollectionUtil.isNotEmpty(ticketItems)) {
|
||||||
|
transferCompanyTicketItemService.updateBatchById(ticketItems);
|
||||||
|
}
|
||||||
inventoryService.in(records.stream()
|
inventoryService.in(records.stream()
|
||||||
.collect(Collectors.groupingBy(InMaterialScanRecord::getKey))
|
.collect(Collectors.groupingBy(InMaterialScanRecord::getKey))
|
||||||
.values()
|
.values()
|
||||||
|
|
|
||||||
|
|
@ -415,7 +415,7 @@ public class SapService {
|
||||||
.throwMessage(STATE.SAPErr, "SAP:" + structure.getString("MSG"));
|
.throwMessage(STATE.SAPErr, "SAP:" + structure.getString("MSG"));
|
||||||
|
|
||||||
JCoTable table = function.getTableParameterList().getTable("T_OUT");
|
JCoTable table = function.getTableParameterList().getTable("T_OUT");
|
||||||
log.info("SAP返回: {}", table);
|
log.trace("SAP返回: {}", table);
|
||||||
List<SAPMaterialInfoInOrderDTO> datas = JCoUtil.toBeanList(table, SAPMaterialInfoInOrderDTO.class);
|
List<SAPMaterialInfoInOrderDTO> datas = JCoUtil.toBeanList(table, SAPMaterialInfoInOrderDTO.class);
|
||||||
log.debug("数据:{}", JSONUtil.toJsonStr(datas));
|
log.debug("数据:{}", JSONUtil.toJsonStr(datas));
|
||||||
return datas;
|
return datas;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package com.nflg.wms.common.pojo.qo;
|
package com.nflg.wms.common.pojo.qo;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -9,9 +8,6 @@ import java.util.List;
|
||||||
@Data
|
@Data
|
||||||
public class InProduceOrderReceiveMaterialQO {
|
public class InProduceOrderReceiveMaterialQO {
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料编号
|
* 物料编号
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.nflg.wms.common.pojo.vo;
|
package com.nflg.wms.common.pojo.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|
@ -66,6 +67,12 @@ public class InProduceOrderItemVO {
|
||||||
*/
|
*/
|
||||||
private String sernr;
|
private String sernr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否齐套物料
|
||||||
|
*/
|
||||||
|
@JsonProperty("isQiTao")
|
||||||
|
private boolean isQiTao = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否必须扫码,如果为false的话可以不扫码
|
* 是否必须扫码,如果为false的话可以不扫码
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@
|
||||||
|
|
||||||
<select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderVO">
|
<select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderVO">
|
||||||
SELECT o.*,m.no||wb."no" AS "workbench_code",us.supplier_code,us.supplier_name,sp.order_no AS "package_order_no"
|
SELECT 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",di.code AS "factory_code"
|
,sp."no" AS "package_no",sp."name" AS "package_desc",m."no" AS "model_no",di.code AS "factory_no"
|
||||||
FROM wms_structural_package_order o
|
FROM wms_structural_package_order o
|
||||||
LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id"
|
LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id"
|
||||||
LEFT JOIN user_supplier us ON o.supplier_id=us.id
|
LEFT JOIN user_supplier us ON o.supplier_id=us.id
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue