chore: sync local changes and notice tab updates

This commit is contained in:
李宇奇 2026-03-09 10:24:53 +08:00
parent 4fc6502231
commit f5de044819
4 changed files with 96 additions and 872 deletions

38
AGENTS.md Normal file
View File

@ -0,0 +1,38 @@
# 项目工作指令
本文件作用域覆盖整个仓库。
## 触发规则:对代码进行命名优化
当用户明确提到 `对代码进行命名优化` 时,按以下规则执行,并将其视为本项目内的长期指令。
### 目标
命名优化的核心目标不是“机械改名”,而是**消除糟糕命名对阅读和理解代码造成的阻碍**。凡是命名不合理、语义弱、缩写随意、无法体现业务意图、容易误导读者的地方,都属于优化范围。
### 执行原则
1. 优先提升可读性、可理解性和业务语义表达,不做表面化筛查。
2. 不仅检查方法名也检查局部变量、参数名、返回值变量名、集合名、布尔变量名、DTO/VO 字段名、查询条件对象名、临时变量名等。
3. 对过度泛化或无业务语义的命名进行替换,例如:
- `wrapper` 这类只有技术含义、没有业务上下文的命名,应改为带业务语义的名称,如 `palletQueryWrapper`
- `plcs` 这类难以理解、缩写随意且影响阅读的命名,应改为清晰表达含义的名称,如 `palletList`、`matchedPallets` 等。
4. 命名必须结合所在上下文,准确表达“这是什么、装的是什么、为什么存在”,避免仅仅因为类型已知就偷懒使用笼统命名。
5. 若原命名已清晰、稳定且符合上下文,不为了“统一而统一”进行无价值改名。
6. 改名时保持行为不变,并同步更新所有受影响引用,避免产生不一致或语义偏差。
7. 绝对不允许修改业务逻辑, 只允许优化代码命名
8. 一段一段的执行命名优化, 当优化完一段后可以简要总结, 然后自动优化下一段
### 判断标准
若一个命名满足以下任一情况,应优先考虑优化:
- 需要读者额外猜测其含义;
- 只能体现技术实现,不能体现业务语义;
- 使用随意缩写,且不是团队普遍认可的标准术语;
- 无法直接看出集合内元素、布尔值含义或对象用途;
- 在当前方法或业务场景中会明显影响阅读流畅度。
### 输出要求
执行这类任务时,应以“提升阅读体验”为首要标准,必要时可在结果说明中指出关键重命名的理由,但不要做与命名无关的顺手重构。

View File

@ -5,7 +5,7 @@ package com.zbf.common.enums.custom;
*/ */
public enum InboundResourceOccupancyStatus public enum InboundResourceOccupancyStatus
{ {
IDLE("0", "空闲"), EMPTY("0", "空闲"),
OCCUPIED("1", "占用"); OCCUPIED("1", "占用");
private final String code; private final String code;

View File

@ -5,6 +5,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.zbf.common.annotation.Excel; import com.zbf.common.annotation.Excel;
import com.zbf.common.core.domain.BaseEntity; import com.zbf.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.IndexedColors;
@ -20,6 +22,8 @@ import java.util.Date;
* @date 2024-06-18 * @date 2024-06-18
*/ */
@Data @Data
@Setter
@Getter
public class TRkWareNoticeTab extends BaseEntity { public class TRkWareNoticeTab extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -38,7 +42,7 @@ private static final long serialVersionUID = 1L;
private String deliveryId; private String deliveryId;
//来源单据号 //来源单据号
private String sourceNum; private String sourceNum;
/** 子需求编号 */ /** 子需求编号-订单号 */
@Excel(name = "子需求编号") @Excel(name = "子需求编号")
private String salesOrderNumber; private String salesOrderNumber;
@ -397,787 +401,13 @@ private static final long serialVersionUID = 1L;
private String rfidEpc; private String rfidEpc;
public String getNeedPerson() { /**库位 */
return needPerson;
}
public void setNeedPerson(String needPerson) {
this.needPerson = needPerson;
}
public String getNeedTel() {
return needTel;
}
public void setNeedTel(String needTel) {
this.needTel = needTel;
}
public BigDecimal getNoTaxPrice() {
return noTaxPrice;
}
public void setNoTaxPrice(BigDecimal noTaxPrice) {
this.noTaxPrice = noTaxPrice;
}
public BigDecimal getNoTaxMoney() {
return noTaxMoney;
}
public void setNoTaxMoney(BigDecimal noTaxMoney) {
this.noTaxMoney = noTaxMoney;
}
public BigDecimal getPurchaseTaxRate() {
return purchaseTaxRate;
}
public void setPurchaseTaxRate(BigDecimal purchaseTaxRate) {
this.purchaseTaxRate = purchaseTaxRate;
}
public BigDecimal getReceivingNum() {
return receivingNum;
}
public void setReceivingNum(BigDecimal receivingNum) {
this.receivingNum = receivingNum;
}
public BigDecimal getPurchaseTax() {
return purchaseTax;
}
public void setPurchaseTax(BigDecimal purchaseTax) {
this.purchaseTax = purchaseTax;
}
public String getSmartSelectionMode() {
return smartSelectionMode;
}
public void setSmartSelectionMode(String smartSelectionMode) {
this.smartSelectionMode = smartSelectionMode;
}
public String getInvoiceTitle() {
return invoiceTitle;
}
public void setInvoiceTitle(String invoiceTitle) {
this.invoiceTitle = invoiceTitle;
}
public String getSourceNum() {
return sourceNum;
}
public void setSourceNum(String sourceNum) {
this.sourceNum = sourceNum;
}
public String getIndependentAccounting() {
return independentAccounting;
}
public void setIndependentAccounting(String independentAccounting) {
this.independentAccounting = independentAccounting;
}
public String getSendeDate() {
return sendeDate;
}
public void setSendeDate(String sendeDate) {
this.sendeDate = sendeDate;
}
public String getReportTime() {
return reportTime;
}
public void setReportTime(String reportTime) {
this.reportTime = reportTime;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public BigDecimal getTotalArraAmout() {
return totalArraAmout;
}
public void setTotalArraAmout(BigDecimal totalArraAmout) {
this.totalArraAmout = totalArraAmout;
}
public String getArrivalNum() {
return arrivalNum;
}
public void setArrivalNum(String arrivalNum) {
this.arrivalNum = arrivalNum;
}
public String getEmphasisGoods() {
return emphasisGoods;
}
public void setEmphasisGoods(String emphasisGoods) {
this.emphasisGoods = emphasisGoods;
}
public String getExpedited() {
return expedited;
}
public void setExpedited(String expedited) {
this.expedited = expedited;
}
public String getIndividualInvoicing() {
return individualInvoicing;
}
public void setIndividualInvoicing(String individualInvoicing) {
this.individualInvoicing = individualInvoicing;
}
public BigDecimal getRejectNum() {
return rejectNum;
}
public void setRejectNum(BigDecimal rejectNum) {
this.rejectNum = rejectNum;
}
public String getPurchaser() {
return purchaser;
}
public void setPurchaser(String purchaser) {
this.purchaser = purchaser;
}
public String getAttachments() {
return attachments;
}
public void setAttachments(String attachments) {
this.attachments = attachments;
}
public String getSupplierAttachments() {
return supplierAttachments;
}
public void setSupplierAttachments(String supplierAttachments) {
this.supplierAttachments = supplierAttachments;
}
public String getRecPerson() {
return recPerson;
}
public void setRecPerson(String recPerson) {
this.recPerson = recPerson;
}
public String getArraDate() {
return arraDate;
}
public void setArraDate(String arraDate) {
this.arraDate = arraDate;
}
public String getDocumentStatus() {
return documentStatus;
}
public void setDocumentStatus(String documentStatus) {
this.documentStatus = documentStatus;
}
public String getDataSource() {
return dataSource;
}
public void setDataSource(String dataSource) {
this.dataSource = dataSource;
}
public String getStorageShortName() {
return storageShortName;
}
public void setStorageShortName(String storageShortName) {
this.storageShortName = storageShortName;
}
public String getAbc() {
return abc;
}
public void setAbc(String abc) {
this.abc = abc;
}
public String getLevelType() {
return levelType;
}
public void setLevelType(String levelType) {
this.levelType = levelType;
}
public String getDeliveryId() {
return deliveryId;
}
public void setDeliveryId(String deliveryId) {
this.deliveryId = deliveryId;
}
public String getProviderId() {
return providerId;
}
public void setProviderId(String providerId) {
this.providerId = providerId;
}
public String getProviderName() {
return providerName;
}
public void setProviderName(String providerName) {
this.providerName = providerName;
}
public String getPurchaseId() {
return purchaseId;
}
public void setPurchaseId(String purchaseId) {
this.purchaseId = purchaseId;
}
public String getShippingDept() {
return shippingDept;
}
public void setShippingDept(String shippingDept) {
this.shippingDept = shippingDept;
}
public String getContact() {
return contact;
}
public void setContact(String contact) {
this.contact = contact;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getReceiveAddr() {
return receiveAddr;
}
public void setReceiveAddr(String receiveAddr) {
this.receiveAddr = receiveAddr;
}
public String getPurchaseDept() {
return purchaseDept;
}
public void setPurchaseDept(String purchaseDept) {
this.purchaseDept = purchaseDept;
}
public String getReceivingArea() {
return receivingArea;
}
public void setReceivingArea(String receivingArea) {
this.receivingArea = receivingArea;
}
public String getUseReceiver() {
return useReceiver;
}
public void setUseReceiver(String useReceiver) {
this.useReceiver = useReceiver;
}
public String getUseCustodian() {
return useCustodian;
}
public void setUseCustodian(String useCustodian) {
this.useCustodian = useCustodian;
}
public String getUseLeader() {
return useLeader;
}
public void setUseLeader(String useLeader) {
this.useLeader = useLeader;
}
public String getReceiver() {
return receiver;
}
public void setReceiver(String receiver) {
this.receiver = receiver;
}
public String getProduclotId() {
return produclotId;
}
public void setProduclotId(String produclotId) {
this.produclotId = produclotId;
}
public String getReceiverDept() {
return receiverDept;
}
public void setReceiverDept(String receiverDept) {
this.receiverDept = receiverDept;
}
public String getTenderer() {
return tenderer;
}
public void setTenderer(String tenderer) {
this.tenderer = tenderer;
}
public boolean isAddFlg() {
return addFlg;
}
public void setAddFlg(boolean addFlg) {
this.addFlg = addFlg;
}
public boolean isEditFlg() {
return editFlg;
}
public void setEditFlg(boolean editFlg) {
this.editFlg = editFlg;
}
public String getStorageLocation() {
return storageLocation;
}
public void setStorageLocation(String storageLocation) {
this.storageLocation = storageLocation;
}
public BigDecimal getRecNumNow() {
return recNumNow;
}
public void setRecNumNow(BigDecimal recNumNow) {
this.recNumNow = recNumNow;
}
/**库位 */
private String storageLocation; private String storageLocation;
/**本次接收数量 */ /**本次接收数量 */
@Excel(name = "本次签收数量",type = Excel.Type.EXPORT) @Excel(name = "本次签收数量",type = Excel.Type.EXPORT)
private BigDecimal recNumNow; private BigDecimal recNumNow;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setSalesOrderNumber(String salesOrderNumber) {
this.salesOrderNumber = salesOrderNumber;
}
public String getSalesOrderNumber() {
return salesOrderNumber;
}
public void setNoticeId(String noticeId) {
this.noticeId = noticeId;
}
public String getNoticeId() {
return noticeId;
}
public void setGoodsId(String goodsId) {
this.goodsId = goodsId;
}
public String getGoodsId() {
return goodsId;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public String getGoodsName() {
return goodsName;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getUnit() {
return unit;
}
public void setSpecification(String specification) {
this.specification = specification;
}
public String getSpecification() {
return specification;
}
public void setRecoil(String recoil) {
this.recoil = recoil;
}
public String getRecoil() {
return recoil;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getBrand() {
return brand;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
public BigDecimal getPrice() {
return price;
}
public void setTotalMoney(BigDecimal totalMoney) {
this.totalMoney = totalMoney;
}
public BigDecimal getTotalMoney() {
return totalMoney;
}
public void setArraMount(BigDecimal arraMount) {
this.arraMount = arraMount;
}
public BigDecimal getArraMount() {
return arraMount;
}
public void setRecNum(BigDecimal recNum) {
this.recNum = recNum;
}
public BigDecimal getRecNum() {
return recNum;
}
public void setProject(String project) {
this.project = project;
}
public String getProject() {
return project;
}
public void setNeedDept(String needDept) {
this.needDept = needDept;
}
public String getNeedDept() {
return needDept;
}
public void setUseType(String useType) {
this.useType = useType;
}
public String getUseType() {
return useType;
}
public void setScaleUnit(String scaleUnit) {
this.scaleUnit = scaleUnit;
}
public String getScaleUnit() {
return scaleUnit;
}
public void setTotalVolume(BigDecimal totalVolume) {
this.totalVolume = totalVolume;
}
public BigDecimal getTotalVolume() {
return totalVolume;
}
public void setTotalRoughWeight(BigDecimal totalRoughWeight) {
this.totalRoughWeight = totalRoughWeight;
}
public BigDecimal getTotalRoughWeight() {
return totalRoughWeight;
}
public void setTotalNetWeigh(BigDecimal totalNetWeigh) {
this.totalNetWeigh = totalNetWeigh;
}
public BigDecimal getTotalNetWeigh() {
return totalNetWeigh;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public BigDecimal getAmount() {
return amount;
}
public void setProductionDate(Date productionDate) {
this.productionDate = productionDate;
}
public Date getProductionDate() {
return productionDate;
}
public void setStorageId(String storageId) {
this.storageId = storageId;
}
public String getStorageId() {
return storageId;
}
public void setStorageAreaId(String storageAreaId) {
this.storageAreaId = storageAreaId;
}
public String getStorageAreaId() {
return storageAreaId;
}
public void setPackageId(String packageId) {
this.packageId = packageId;
}
public String getPackageId() {
return packageId;
}
public void setGoodsTypeId(String goodsTypeId) {
this.goodsTypeId = goodsTypeId;
}
public String getGoodsTypeId() {
return goodsTypeId;
}
public void setBarcode(String barcode) {
this.barcode = barcode;
}
public String getBarcode() {
return barcode;
}
public void setGoodsVolume(BigDecimal goodsVolume) {
this.goodsVolume = goodsVolume;
}
public BigDecimal getGoodsVolume() {
return goodsVolume;
}
public void setPrintSts(String printSts) {
this.printSts = printSts;
}
public String getPrintSts() {
return printSts;
}
public void setPrintCs(Long printCs) {
this.printCs = printCs;
}
public Long getPrintCs() {
return printCs;
}
public void setNetWeigh(BigDecimal netWeigh) {
this.netWeigh = netWeigh;
}
public BigDecimal getNetWeigh() {
return netWeigh;
}
public void setKindNum(Long kindNum) {
this.kindNum = kindNum;
}
public Long getKindNum() {
return kindNum;
}
public void setExpiryDate(String expiryDate) {
this.expiryDate = expiryDate;
}
public String getExpiryDate() {
return expiryDate;
}
public void setOperateDate(Date operateDate) {
this.operateDate = operateDate;
}
public Date getOperateDate() {
return operateDate;
}
public void setProductStatus(String productStatus) {
this.productStatus = productStatus;
}
public String getProductStatus() {
return productStatus;
}
public void setReceivingStatus(String receivingStatus) {
this.receivingStatus = receivingStatus;
}
public String getReceivingStatus() {
return receivingStatus;
}
public void setInStatus(String inStatus) {
this.inStatus = inStatus;
}
public String getInStatus() {
return inStatus;
}
public void setCtl(String ctl) {
this.ctl = ctl;
}
public String getCtl() {
return ctl;
}
public void setQualityInspectionDate(String qualityInspectionDate) {
this.qualityInspectionDate = qualityInspectionDate;
}
public String getQualityInspectionDate() {
return qualityInspectionDate;
}
public void setStatus(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
public BigDecimal getAcceNum() {
return acceNum;
}
public void setAcceNum(BigDecimal acceNum) {
this.acceNum = acceNum;
}
public void setQualityInspecStatus(String qualityInspecStatus) {
this.qualityInspecStatus = qualityInspecStatus;
}
public String getQualityInspecStatus() {
return qualityInspecStatus;
}
public void setOrderType(String orderType) {
this.orderType = orderType;
}
public String getOrderType() {
return orderType;
}
public void setApplicant(String applicant) {
this.applicant = applicant;
}
public String getApplicant() {
return applicant;
}
public void setSupplier(String supplier) {
this.supplier = supplier;
}
public String getSupplier() {
return supplier;
}
public void setQualified(String qualified) {
this.qualified = qualified;
}
public String getQualified() {
return qualified;
}
public void setPlanDate(String planDate) {
this.planDate = planDate;
}
public String getPlanDate() {
return planDate;
}
public void setPlanTime(String planTime) {
this.planTime = planTime;
}
public String getPlanTime() {
return planTime;
}
public void setNeedCycle(BigDecimal needCycle) {
this.needCycle = needCycle;
}
public BigDecimal getNeedCycle() {
return needCycle;
}
public void setNeedType(String needType) {
this.needType = needType;
}
public String getNeedType() {
return needType;
}
public void setBatchNo(String batchNo) {
this.batchNo = batchNo;
}
public String getBatchNo() {
return batchNo;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

View File

@ -117,9 +117,6 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
@Autowired @Autowired
private TBaseStorageAreaLocationMapper service; private TBaseStorageAreaLocationMapper service;
@Autowired
private TRkWareNoticeTabMapper mapper;
@Autowired @Autowired
private ITCallNoticeOrderService tNoticeOrderService; private ITCallNoticeOrderService tNoticeOrderService;
@ -343,6 +340,14 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
/* 先进行一系列的防呆判断
* 然后根据传参confirmRequest去更新数据库内的入库单明细表
* 之后生成入库任务, 最后通知手持
* 这个方法没有更新主表通知单状态
* 也没有把明细 receivingStatus 改成完成
*
*/
// 入库流程
public Map<String, String> confirmNoticeTab(TRkWareNoticeTabUpdate confirmRequest) { public Map<String, String> confirmNoticeTab(TRkWareNoticeTabUpdate confirmRequest) {
// 返回结果 // 返回结果
@ -383,14 +388,14 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
} else { } else {
// 校验同一托盘号在库存中是否存在 // 校验同一托盘号在库存中是否存在
/*TMiStock stockQuery = new TMiStock(); TMiStock stockQuery = new TMiStock();
stockQuery.setCtl(confirmRequest.getCtlNo()); stockQuery.setCtl(confirmRequest.getCtlNo());
List<TMiStock> matchedStocks = tMiStockMapper.selectTMiStockList(stockQuery); List<TMiStock> matchedStocks = tMiStockMapper.selectTMiStockList(stockQuery);
if (matchedStocks.size() > 0) { if (!matchedStocks.isEmpty()) {
resultMap.put("error", "托盘【" + confirmRequest.getCtlNo() + "】已占用,请更换"); resultMap.put("error", "托盘【" + confirmRequest.getCtlNo() + "】已占用,请更换");
throw new RuntimeException("托盘" + confirmRequest.getCtlNo() + "已占用,请更换"); throw new RuntimeException("托盘" + confirmRequest.getCtlNo() + "已占用,请更换");
}*/ }
//校验托盘容器是否正确 //校验托盘容器是否正确
@ -408,7 +413,7 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
log.error("托盘号【" + confirmRequest.getCtlNo() + "】已禁用"); log.error("托盘号【" + confirmRequest.getCtlNo() + "】已禁用");
throw new RuntimeException("托盘号【" + confirmRequest.getCtlNo() + "】已禁用"); throw new RuntimeException("托盘号【" + confirmRequest.getCtlNo() + "】已禁用");
} }
if (InboundResourceOccupancyStatus.IDLE.getCode().equals(targetPallet.getStatus()) if (InboundResourceOccupancyStatus.EMPTY.getCode().equals(targetPallet.getStatus())
|| StringUtils.isBlank(targetPallet.getStatus())) { || StringUtils.isBlank(targetPallet.getStatus())) {
TBasePallet palletOccupancyUpdate = new TBasePallet(); TBasePallet palletOccupancyUpdate = new TBasePallet();
palletOccupancyUpdate.setStatus(InboundResourceOccupancyStatus.OCCUPIED.getCode()); palletOccupancyUpdate.setStatus(InboundResourceOccupancyStatus.OCCUPIED.getCode());
@ -420,24 +425,28 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
} }
// 通知单明细map // 通知单明细map
Map<String, TRkWareNoticeTab> noticeTabByBusinessKey = new HashMap<String, TRkWareNoticeTab>(); Map<String, TRkWareNoticeTab> noticeTabFromDbById = new HashMap<>();
for (int i = 0; i < inboundNotice.getTRkWareNoticeTabList().size(); i++) { for (int i = 0; i < inboundNotice.getTRkWareNoticeTabList().size(); i++) {
TRkWareNoticeTab noticeTab = inboundNotice.getTRkWareNoticeTabList().get(i); TRkWareNoticeTab noticeTab = inboundNotice.getTRkWareNoticeTabList().get(i);
noticeTabByBusinessKey.put(noticeTab.getSalesOrderNumber() + noticeTab.getGoodsId(), noticeTab); noticeTabFromDbById.put(noticeTab.getId(), noticeTab);
} }
if ("".equals(confirmRequest.getUserName())) { if ("".equals(confirmRequest.getUserName())) {
confirmRequest.setUserName(confirmRequest.getRecordPerson()); confirmRequest.setUserName(confirmRequest.getRecordPerson());
} }
List<TRkWareNoticeTab> updatedNoticeTabs = new ArrayList<TRkWareNoticeTab>(); List<TRkWareNoticeTab> updatedNoticeTabs = new ArrayList<>();
List<TOngoodsshelf> inboundTasksToCreate = new ArrayList<TOngoodsshelf>(); List<TOngoodsshelf> inboundTasksToCreate = new ArrayList<>();
//冻结校验 //冻结校验
List<TRkWareNoticeTab> submittedNoticeTabs = confirmRequest.getTrkWareNoticeTabList(); List<TRkWareNoticeTab> submittedNoticeTabs = confirmRequest.getTrkWareNoticeTabList();
for (TRkWareNoticeTab submittedNoticeTab : submittedNoticeTabs) { for (TRkWareNoticeTab submittedNoticeTab : submittedNoticeTabs) {
TRkWareNoticeTab noticeTabInDb = mapper.selectTRkWareNoticeTabById(submittedNoticeTab.getId()); TRkWareNoticeTab noticeTabInDb = noticeTabFromDbById.get(submittedNoticeTab.getId());
if (noticeTabInDb == null) {
resultMap.put("error", "物料【" + submittedNoticeTab.getGoodsName() + "】的通知单明细不存在");
throw new RuntimeException("物料【" + submittedNoticeTab.getGoodsName() + "】的通知单明细不存在");
}
if (InboundNoticeTabInStatus.LOCKED.getCode().equals(noticeTabInDb.getInStatus())) { if (InboundNoticeTabInStatus.LOCKED.getCode().equals(noticeTabInDb.getInStatus())) {
resultMap.put("error", "物料【" + noticeTabInDb.getGoodsName() + "】已冻结,不可收货"); resultMap.put("error", "物料【" + noticeTabInDb.getGoodsName() + "】已冻结,不可收货");
log.error("物料【" + noticeTabInDb.getInStatus() + "】已冻结,不可收货"); log.error("物料【" + noticeTabInDb.getInStatus() + "】已冻结,不可收货");
@ -448,7 +457,7 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
// 遍历提交的通知单明细数据 // 遍历提交的通知单明细数据
for (TRkWareNoticeTab submittedNoticeTab : confirmRequest.getTrkWareNoticeTabList()) { for (TRkWareNoticeTab submittedNoticeTab : confirmRequest.getTrkWareNoticeTabList()) {
TRkWareNoticeTab noticeTabToUpdate = noticeTabByBusinessKey.get(submittedNoticeTab.getSalesOrderNumber() + submittedNoticeTab.getGoodsId()); TRkWareNoticeTab noticeTabToUpdate = noticeTabFromDbById.get(submittedNoticeTab.getId());
if (noticeTabToUpdate == null) { if (noticeTabToUpdate == null) {
resultMap.put("error", "物料【" + submittedNoticeTab.getGoodsName() + "】的通知单明细不存在"); resultMap.put("error", "物料【" + submittedNoticeTab.getGoodsName() + "】的通知单明细不存在");
@ -495,11 +504,7 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
BigDecimal accumulatedReceivedQuantity = noticeTabToUpdate.getRecNum() == null ? BigDecimal.ZERO : noticeTabToUpdate.getRecNum(); BigDecimal accumulatedReceivedQuantity = noticeTabToUpdate.getRecNum() == null ? BigDecimal.ZERO : noticeTabToUpdate.getRecNum();
BigDecimal plannedReceivingQuantity = noticeTabToUpdate.getReceivingNum() == null ? BigDecimal.ZERO : noticeTabToUpdate.getReceivingNum(); BigDecimal plannedReceivingQuantity = noticeTabToUpdate.getReceivingNum() == null ? BigDecimal.ZERO : noticeTabToUpdate.getReceivingNum();
// if (recNumNowNew == BigDecimal.ZERO) { // 本次收货量 + 已累计收货量 不能超过这条明细的目标收货量否则就是超收
// resultMap.put("error", "物料【" + submittedNoticeTab.getGoodsName() + "】的签收数量不能为0");
// return resultMap;
// }
if (currentReceivedQuantity.add(accumulatedReceivedQuantity).compareTo(plannedReceivingQuantity) > 0) { if (currentReceivedQuantity.add(accumulatedReceivedQuantity).compareTo(plannedReceivingQuantity) > 0) {
resultMap.put("error", "物料【" + submittedNoticeTab.getGoodsName() + "】的收货数量不能大于签收数量"); resultMap.put("error", "物料【" + submittedNoticeTab.getGoodsName() + "】的收货数量不能大于签收数量");
throw new RuntimeException("物料【" + submittedNoticeTab.getGoodsName() + "】的收货数量不能大于签收数量"); throw new RuntimeException("物料【" + submittedNoticeTab.getGoodsName() + "】的收货数量不能大于签收数量");
@ -508,14 +513,12 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
// 设置更新信息 // 设置更新信息
noticeTabToUpdate.setRecNum(currentReceivedQuantity.add(accumulatedReceivedQuantity)); noticeTabToUpdate.setRecNum(currentReceivedQuantity.add(accumulatedReceivedQuantity));
// 收满了, 已达到目标收货量
if (noticeTabToUpdate.getRecNum().compareTo(plannedReceivingQuantity) == 0) { if (noticeTabToUpdate.getRecNum().compareTo(plannedReceivingQuantity) == 0) {
// 物料明细冻结 // 物料明细冻结
noticeTabToUpdate.setInStatus(InboundNoticeTabInStatus.LOCKED.getCode()); noticeTabToUpdate.setInStatus(InboundNoticeTabInStatus.LOCKED.getCode());
} }
//
// tabOld.setReceivingStatus("0");
noticeTabToUpdate.setRecNumNow(currentReceivedQuantity); noticeTabToUpdate.setRecNumNow(currentReceivedQuantity);
noticeTabToUpdate.setStorageId(resolvedStorageId); noticeTabToUpdate.setStorageId(resolvedStorageId);
// 托盘 // 托盘
@ -534,9 +537,6 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
tRkWareNoticeTabMapper.updateTRkWareNoticeTab(noticeTabToUpdate); tRkWareNoticeTabMapper.updateTRkWareNoticeTab(noticeTabToUpdate);
// 生成入库任务 // 生成入库任务
inboundTasksToCreate.add(buildInboundTask(inboundNotice, noticeTabToUpdate, confirmRequest)); inboundTasksToCreate.add(buildInboundTask(inboundNotice, noticeTabToUpdate, confirmRequest));
} }
@ -551,7 +551,7 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
inboundCallNotice.setStorageId(confirmRequest.getStorageId()); inboundCallNotice.setStorageId(confirmRequest.getStorageId());
// 托盘号 // 托盘号
inboundCallNotice.setCtl(confirmRequest.getCtlNo()); inboundCallNotice.setCtl(confirmRequest.getCtlNo());
// pLCID
inboundCallNotice.setPlcid((Long) confirmRequest.getParams().get("plcId")); inboundCallNotice.setPlcid((Long) confirmRequest.getParams().get("plcId"));
// 任务类型 0:入库任务 // 任务类型 0:入库任务
inboundCallNotice.setTaskType(InboundTaskType.INBOUND.getCode()); inboundCallNotice.setTaskType(InboundTaskType.INBOUND.getCode());
@ -1049,10 +1049,10 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
} }
// 通知单明细map // 通知单明细map
Map<String, TRkWareNoticeTab> noticeTabByBusinessKey = new HashMap<String, TRkWareNoticeTab>(); Map<String, TRkWareNoticeTab> existingNoticeTabById = new HashMap<String, TRkWareNoticeTab>();
for (int i = 0; i < inboundNotice.getTRkWareNoticeTabList().size(); i++) { for (int i = 0; i < inboundNotice.getTRkWareNoticeTabList().size(); i++) {
TRkWareNoticeTab noticeTab = inboundNotice.getTRkWareNoticeTabList().get(i); TRkWareNoticeTab noticeTab = inboundNotice.getTRkWareNoticeTabList().get(i);
noticeTabByBusinessKey.put(noticeTab.getSalesOrderNumber() + noticeTab.getGoodsId(), noticeTab); existingNoticeTabById.put(noticeTab.getId(), noticeTab);
} }
List<TRkWareNoticeTab> noticeTabsToInsert = new ArrayList<TRkWareNoticeTab>(); List<TRkWareNoticeTab> noticeTabsToInsert = new ArrayList<TRkWareNoticeTab>();
@ -1060,9 +1060,9 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
// 遍历提交的通知单明细数据 // 遍历提交的通知单明细数据
for (TRkWareNoticeTab noticeTabToInsert : saveRequest.getTrkWareNoticeTabList()) { for (TRkWareNoticeTab noticeTabToInsert : saveRequest.getTrkWareNoticeTabList()) {
if (noticeTabByBusinessKey.containsKey(noticeTabToInsert.getSalesOrderNumber() + noticeTabToInsert.getGoodsId())) { if (StringUtils.isNotBlank(noticeTabToInsert.getId()) && existingNoticeTabById.containsKey(noticeTabToInsert.getId())) {
throw new RuntimeException( throw new RuntimeException(
"子需求单号【" + noticeTabToInsert.getSalesOrderNumber() + "】和物料ID【" + noticeTabToInsert.getGoodsId() + "组合重复. "); "通知单明细ID【" + noticeTabToInsert.getId() + "已存在. ");
} }
if (ObjectUtils.isEmpty(noticeTabToInsert.getGoodsId())) { if (ObjectUtils.isEmpty(noticeTabToInsert.getGoodsId())) {
@ -1224,12 +1224,12 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
// 查询是否存在收货表数据 // 查询是否存在收货表数据
if (inboundNotice.getTRkWareNoticeTabList().size() > 0) { if (inboundNotice.getTRkWareNoticeTabList().size() > 0) {
Map<String, TRkReceivingGoodsTab> receivingGoodsTabByBusinessKey = new HashMap<String, TRkReceivingGoodsTab>(); Map<String, TRkReceivingGoodsTab> receivingGoodsTabById = new HashMap<String, TRkReceivingGoodsTab>();
if (receivingGoods != null) { if (receivingGoods != null) {
for (TRkReceivingGoodsTab receivingGoodsTab : receivingGoods.getTRkReceivingGoodsTabList()) { for (TRkReceivingGoodsTab receivingGoodsTab : receivingGoods.getTRkReceivingGoodsTabList()) {
receivingGoodsTabByBusinessKey.put(receivingGoodsTab.getSalesOrderNumber() + receivingGoodsTab.getGoodsId(), receivingGoodsTab); receivingGoodsTabById.put(receivingGoodsTab.getId(), receivingGoodsTab);
} }
} }
List<TRkReceivingGoodsTab> receivingGoodsTabsToInsert = new ArrayList<>(); List<TRkReceivingGoodsTab> receivingGoodsTabsToInsert = new ArrayList<>();
@ -1237,8 +1237,7 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
List<TRkReceivingGoodsTab> receivingGoodsTabsToUpdate = new ArrayList<TRkReceivingGoodsTab>(); List<TRkReceivingGoodsTab> receivingGoodsTabsToUpdate = new ArrayList<TRkReceivingGoodsTab>();
for (TRkWareNoticeTab noticeTab : inboundNotice.getTRkWareNoticeTabList()) { for (TRkWareNoticeTab noticeTab : inboundNotice.getTRkWareNoticeTabList()) {
TRkReceivingGoodsTab receivingGoodsTabToUpdate = receivingGoodsTabByBusinessKey TRkReceivingGoodsTab receivingGoodsTabToUpdate = receivingGoodsTabById.get(noticeTab.getId());
.get(noticeTab.getSalesOrderNumber() + noticeTab.getGoodsId());
if (receivingGoodsTabToUpdate != null) { if (receivingGoodsTabToUpdate != null) {
receivingGoodsTabToUpdate.setRecNum(noticeTab.getRecNum()); receivingGoodsTabToUpdate.setRecNum(noticeTab.getRecNum());
receivingGoodsTabToUpdate.setReceivingStatus(noticeTab.getReceivingStatus()); receivingGoodsTabToUpdate.setReceivingStatus(noticeTab.getReceivingStatus());
@ -1306,12 +1305,10 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
*/ */
@Override @Override
@Transactional @Transactional
// 入库流程
public Map<String, String> shelvesConfirm(TRkWareNoticeTabUpdate shelfConfirmRequest) { public Map<String, String> shelvesConfirm(TRkWareNoticeTabUpdate shelfConfirmRequest) {
// 返回结果 // 返回结果
Map<String, String> resultMap = new HashMap<>(); Map<String, String> resultMap = new HashMap<>();
// 库位 // 库位
if (ObjectUtils.isEmpty(shelfConfirmRequest.getStorageLocation())) { if (ObjectUtils.isEmpty(shelfConfirmRequest.getStorageLocation())) {
resultMap.put("error", "库位不能为空"); resultMap.put("error", "库位不能为空");
@ -1332,12 +1329,7 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
throw new RuntimeException("库位【" + shelfConfirmRequest.getStorageLocation() + "】已禁用"); throw new RuntimeException("库位【" + shelfConfirmRequest.getStorageLocation() + "】已禁用");
} }
// if("0".equals(locationCheck.getStatus())){ if (InboundResourceOccupancyStatus.EMPTY.getCode().equals(targetStorageLocation.getStatus())
// locationCheck.setStatus("1");
// service.updateLocationSts(locationCheck);
// }
if (InboundResourceOccupancyStatus.IDLE.getCode().equals(targetStorageLocation.getStatus())
|| StringUtils.isBlank(targetStorageLocation.getStatus())) { || StringUtils.isBlank(targetStorageLocation.getStatus())) {
TBaseStorageAreaLocation storageLocationOccupancyUpdate = new TBaseStorageAreaLocation(); TBaseStorageAreaLocation storageLocationOccupancyUpdate = new TBaseStorageAreaLocation();
storageLocationOccupancyUpdate.setStatus(InboundResourceOccupancyStatus.OCCUPIED.getCode()); storageLocationOccupancyUpdate.setStatus(InboundResourceOccupancyStatus.OCCUPIED.getCode());
@ -1349,7 +1341,6 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
if (StringUtils.isNotBlank(shelfConfirmRequest.getCtlNo())) { if (StringUtils.isNotBlank(shelfConfirmRequest.getCtlNo())) {
//校验托盘容器是否正确 //校验托盘容器是否正确
LambdaQueryWrapper<TBasePallet> palletQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TBasePallet> palletQueryWrapper = new LambdaQueryWrapper<>();
palletQueryWrapper.eq(TBasePallet::getPalletId, shelfConfirmRequest.getCtlNo()); palletQueryWrapper.eq(TBasePallet::getPalletId, shelfConfirmRequest.getCtlNo());
@ -1362,7 +1353,7 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
throw new RuntimeException("托盘号【" + shelfConfirmRequest.getCtlNo() + "】已禁用"); throw new RuntimeException("托盘号【" + shelfConfirmRequest.getCtlNo() + "】已禁用");
} }
if (InboundResourceOccupancyStatus.IDLE.getCode().equals(targetPallet.getStatus()) if (InboundResourceOccupancyStatus.EMPTY.getCode().equals(targetPallet.getStatus())
|| StringUtils.isBlank(targetPallet.getStatus())) { || StringUtils.isBlank(targetPallet.getStatus())) {
TBasePallet palletOccupancyUpdate = new TBasePallet(); TBasePallet palletOccupancyUpdate = new TBasePallet();
palletOccupancyUpdate.setStatus(InboundResourceOccupancyStatus.OCCUPIED.getCode()); palletOccupancyUpdate.setStatus(InboundResourceOccupancyStatus.OCCUPIED.getCode());
@ -1374,44 +1365,30 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
} }
} }
// List<TMiStock> tMiStocks = null; // 校验同一库位是否占用
// if (!ObjectUtils.isEmpty(shelfConfirmRequest.getCtlNo())) { TMiStock stockDupOccupyQuery = new TMiStock();
// // 校验同一托盘号在库存中是否存在 stockDupOccupyQuery.setLocationId(shelfConfirmRequest.getStorageLocation());
// TMiStock stockQuery = new TMiStock(); List<TMiStock> stockDupOccupyList = tMiStockMapper.selectTMiStockList(stockDupOccupyQuery);
// stockQuery.setCtl(shelfConfirmRequest.getCtlNo()); if (stockDupOccupyList != null && !stockDupOccupyList.isEmpty()) {
// tMiStocks = tMiStockMapper.selectTMiStockList(stockQuery); resultMap.put("error", "库位【" + shelfConfirmRequest.getCtlNo() + "】已占用,请更换");
return resultMap;
// if (tMiStocks.size() > 0) { }
// resultMap.put("error", "托盘【" + shelfConfirmRequest.getCtlNo() + "】已占用,请更换");
// return resultMap;
// }
// }
// // 校验同一库位是否占用
// TMiStock tMiStock2 = new TMiStock();
// tMiStock2.setLocationId(shelfConfirmRequest.getStorageLocation());
// tMiStocks = tMiStockMapper.selectTMiStockList(tMiStock2);
// if (tMiStocks.size() > 0) {
// resultMap.put("error", "库位【" + shelfConfirmRequest.getCtlNo() + "】已占用,请更换");
// return resultMap;
// }
// 超期呆滞时间获取 // 超期呆滞时间获取
SysConfig overdueStagnationConfigQuery = new SysConfig(); SysConfig overdueStagnationConfigQuery = new SysConfig();
overdueStagnationConfigQuery.setConfigKey("overdue.stagnation"); overdueStagnationConfigQuery.setConfigKey("overdue.stagnation");
List<SysConfig> overdueStagnationConfigList = sysConfigMapper.selectConfigList(overdueStagnationConfigQuery); List<SysConfig> overdueStagnationConfigList = sysConfigMapper.selectConfigList(overdueStagnationConfigQuery);
if (overdueStagnationConfigList.size() > 0) { if (!overdueStagnationConfigList.isEmpty()) {
shelfConfirmRequest.getExtras().put("extraTime", overdueStagnationConfigList.get(0).getConfigValue()); shelfConfirmRequest.getExtras().put("extraTime", overdueStagnationConfigList.get(0).getConfigValue());
} else { } else {
shelfConfirmRequest.getExtras().put("extraTime", ""); shelfConfirmRequest.getExtras().put("extraTime", "");
} }
List<TRkWareNoticeTab> updatedNoticeTabs = new ArrayList<TRkWareNoticeTab>(); List<TRkWareNoticeTab> updatedNoticeTabs = new ArrayList<>();
List<TMiStock> realStockRecordsToInsert = new ArrayList<TMiStock>(); List<TMiStock> realStockRecordsToInsert = new ArrayList<>();
List<TMiStockF> virtualStockRecordsToInsert = new ArrayList<TMiStockF>(); List<TMiStockF> virtualStockRecordsToInsert = new ArrayList<>();
// 判断通知单明细是否存在为完成的 // 判断通知单明细是否存在为完成的
Boolean allNoticeTabsCompleted = true; Boolean allNoticeTabsCompleted = true;
@ -1487,11 +1464,6 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
// 托盘 // 托盘
noticeTabToUpdate.setCtl(shelfConfirmRequest.getCtlNo()); noticeTabToUpdate.setCtl(shelfConfirmRequest.getCtlNo());
// LambdaQueryWrapper<TBaseStorage> queryWrapper = new LambdaQueryWrapper<>();
// queryWrapper.eq(TBaseStorage::getStorageId, submittedInboundTask.getStorageId());
// TBaseStorage storage = tBaseStorageMapper.selectOne(queryWrapper);
// tabOld.setStorageShortName(storage.getStorageShortName());
noticeTabToUpdate.setUpdateBy(shelfConfirmRequest.getUserName()); noticeTabToUpdate.setUpdateBy(shelfConfirmRequest.getUserName());
noticeTabToUpdate.setUpdateTime(new Date()); noticeTabToUpdate.setUpdateTime(new Date());
@ -1511,21 +1483,16 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
submittedInboundTask.setCtl(shelfConfirmRequest.getCtlNo()); submittedInboundTask.setCtl(shelfConfirmRequest.getCtlNo());
// 入库时间 // 入库时间
submittedInboundTask.setOndate(DateUtils.getTime()); submittedInboundTask.setOndate(DateUtils.getTime());
TOngoodsshelf storedInboundTask = tOngoodsshelfMapper.selectTOngoodsshelfById(submittedInboundTask.getId()); TOngoodsshelf storedInboundTask = tOngoodsshelfMapper.selectTOngoodsshelfById(submittedInboundTask.getId());
// 生成入库任务bak数据 // 生成入库任务bak数据
TOngoodsshelfBak inboundTaskArchive = new TOngoodsshelfBak(); TOngoodsshelfBak inboundTaskArchive = new TOngoodsshelfBak();
BeanUtils.copyProperties(submittedInboundTask, inboundTaskArchive); BeanUtils.copyProperties(submittedInboundTask, inboundTaskArchive);
// inboundTaskArchive.setId(OrderCodeFactory.getOrderCode("TSB", "")); // inboundTaskArchive.setId(OrderCodeFactory.getOrderCode("TSB", ""));
tOngoodsshelfBakMapper.insertTOngoodsshelfBak(inboundTaskArchive); tOngoodsshelfBakMapper.insertTOngoodsshelfBak(inboundTaskArchive);
// 生成库存信息 // 生成库存信息
if (InboundFictitiousFlag.REAL.getCode().equals(shelfConfirmRequest.getFictitious())) { if (InboundFictitiousFlag.REAL.getCode().equals(shelfConfirmRequest.getFictitious())) {
realStockRecordsToInsert.add(buildRealStockRecord(inboundNotice, noticeTabToUpdate, shelfConfirmRequest, storedInboundTask)); realStockRecordsToInsert.add(buildRealStockRecord(inboundNotice, noticeTabToUpdate, shelfConfirmRequest, storedInboundTask));
@ -1582,8 +1549,6 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
BigDecimal totalPrice = unitPrice.multiply(shelvedQuantity); BigDecimal totalPrice = unitPrice.multiply(shelvedQuantity);
realStockRecord.setTotalMoney(totalPrice); realStockRecord.setTotalMoney(totalPrice);
realStockRecord.setPrice(String.valueOf(unitPrice)); realStockRecord.setPrice(String.valueOf(unitPrice));
tMiStockMapper.insertTMiStock(realStockRecord); tMiStockMapper.insertTMiStock(realStockRecord);
} }
} }
@ -1596,8 +1561,6 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
} }
} }
// 获取最新的通知单信息判断是否全部完成 // 获取最新的通知单信息判断是否全部完成
inboundNotice = tRkWareNoticeMapper.selectTRkWareNoticeByNoticeId(inboundNoticeId); inboundNotice = tRkWareNoticeMapper.selectTRkWareNoticeByNoticeId(inboundNoticeId);
for (TRkWareNoticeTab noticeTab : inboundNotice.getTRkWareNoticeTabList()) { for (TRkWareNoticeTab noticeTab : inboundNotice.getTRkWareNoticeTabList()) {
@ -1642,11 +1605,11 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
// 查询是否存在收货表数据 // 查询是否存在收货表数据
if (updatedNoticeTabs.size() > 0) { if (updatedNoticeTabs.size() > 0) {
Map<String, TRkReceivingGoodsTab> receivingGoodsTabByBusinessKey = new HashMap<String, TRkReceivingGoodsTab>(); Map<String, TRkReceivingGoodsTab> receivingGoodsTabById = new HashMap<String, TRkReceivingGoodsTab>();
if (receivingGoods != null) { if (receivingGoods != null) {
for (TRkReceivingGoodsTab receivingGoodsTab : receivingGoods.getTRkReceivingGoodsTabList()) { for (TRkReceivingGoodsTab receivingGoodsTab : receivingGoods.getTRkReceivingGoodsTabList()) {
receivingGoodsTabByBusinessKey.put(receivingGoodsTab.getSalesOrderNumber() + receivingGoodsTab.getGoodsId(), receivingGoodsTab); receivingGoodsTabById.put(receivingGoodsTab.getId(), receivingGoodsTab);
} }
} }
@ -1655,8 +1618,7 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
List<TRkReceivingGoodsTab> receivingGoodsTabsToUpdate = new ArrayList<TRkReceivingGoodsTab>(); List<TRkReceivingGoodsTab> receivingGoodsTabsToUpdate = new ArrayList<TRkReceivingGoodsTab>();
for (TRkWareNoticeTab updatedNoticeTab : updatedNoticeTabs) { for (TRkWareNoticeTab updatedNoticeTab : updatedNoticeTabs) {
TRkReceivingGoodsTab receivingGoodsTabToUpdate = receivingGoodsTabByBusinessKey TRkReceivingGoodsTab receivingGoodsTabToUpdate = receivingGoodsTabById.get(updatedNoticeTab.getId());
.get(updatedNoticeTab.getSalesOrderNumber() + updatedNoticeTab.getGoodsId());
if (receivingGoodsTabToUpdate != null) { if (receivingGoodsTabToUpdate != null) {
receivingGoodsTabToUpdate.setRecNum(updatedNoticeTab.getRecNum()); receivingGoodsTabToUpdate.setRecNum(updatedNoticeTab.getRecNum());
receivingGoodsTabToUpdate.setReceivingStatus(updatedNoticeTab.getReceivingStatus()); receivingGoodsTabToUpdate.setReceivingStatus(updatedNoticeTab.getReceivingStatus());
@ -1731,9 +1693,6 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
/** /**
* 导入入库通知单数据 * 导入入库通知单数据
* *
* @param dataList 用户数据列表
* @param isUpdateSupport 是否更新支持如果已存在则进行更新数据
* @param operName 操作用户
* @return 结果 * @return 结果
*/ */
@Override @Override
@ -1838,9 +1797,6 @@ public class TRkWareNoticeServiceImpl extends ServiceImpl<TRkWareNoticeMapper, T
/** /**
* 导入一级库入库通知单数据 * 导入一级库入库通知单数据
* *
* @param dataList 用户数据列表
* @param isUpdateSupport 是否更新支持如果已存在则进行更新数据
* @param operName 操作用户
* @return 结果 * @return 结果
*/ */
@Override @Override