diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java
index ee90e13e..3b05f365 100644
--- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java
@@ -1,9 +1,11 @@
package com.nflg.wms.admin.controller;
import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.admin.pojo.dto.*;
+import com.nflg.wms.admin.pojo.request.UnqualifiedWarehousingRequest;
import com.nflg.wms.admin.service.NormalQMControllerService;
import com.nflg.wms.common.constant.BarCodeProcessStage;
import com.nflg.wms.common.pojo.ApiResult;
@@ -17,6 +19,7 @@ import com.nflg.wms.common.pojo.vo.QCTaskItemScanCodesVO;
import com.nflg.wms.common.pojo.vo.QCTaskItemVO;
import com.nflg.wms.common.pojo.vo.QCTaskVO;
import com.nflg.wms.common.pojo.vo.QualityInspectionVO;
+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;
@@ -32,10 +35,12 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.NumberUtils;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.math.BigDecimal;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -151,7 +156,7 @@ public class NormalQMController extends BaseController {
for (String poNum : poNums) {
//封装一个数据
QCReceiveDTO qcReceiveDTO = new QCReceiveDTO()
- .setUnqualifiedInventories(new ArrayList<>())
+// .setUnqualifiedInventories(new ArrayList<>())
.setQcIdList(new ArrayList<>())
.setReceiveIds(new ArrayList<>())
.setWaitModifyItems(new ArrayList<>())
@@ -212,42 +217,53 @@ public class NormalQMController extends BaseController {
.setId(item.getId())
.setReceivedWarehouse(item.getReceivedWarehouse())
// .setStorageLocation(item.getStorageLocation())
- .setInQty(code.getUnqualifiedQty().add(code.getQualifiedQty()))
+ .setInQty(code.getUnqualifiedQty().add(code.getReceiveQty()))
.setUnqualifiedQty(code.getUnqualifiedQty())
- .setQualifiedQty(code.getQualifiedQty())
+ .setQualifiedQty(code.getReceiveQty())
// .setCrossQty(item.getCrossQty())
.setMaterialDoc105("")
.setMaterialDocYear105("");
qcReceiveDTO.getWaitModifyItems().add(qcReceiveItemDTO);
// 库存信息
+// if (code.getUnqualifiedQty().compareTo(BigDecimal.ZERO) > 0) {
+// InventoryInDTO inventoryDTO = qcReceiveDTO.getUnqualifiedInventories()
+// .stream()
+// .filter(inventoryDTO1 ->
+// inventoryDTO1.getMaterialNo().equals(code.getItemCode())
+// && inventoryDTO1.getWarehouseNo().equals("9004")
+// && inventoryDTO1.getBatchNo().equals(code.getMaterialBatch())
+// && inventoryDTO1.getSerialNo().equals(code.getSerialNum())
+// && inventoryDTO1.getFactoryNo().equals(code.getFactory()))
+// .findFirst()
+// .orElse(null);
+//
+// if (Objects.isNull(inventoryDTO)) {
+// // 不合格品数量大于0时的处理逻辑
+// qcReceiveDTO.getUnqualifiedInventories().add(new InventoryInDTO()
+// .setMaterialNo(code.getItemCode())
+// .setFactoryNo(code.getFactory())
+// .setWarehouseNo("9004") // 不合格仓固定
+// .setNum(code.getUnqualifiedQty())
+// .setBatchNo(code.getMaterialBatch())
+// .setSerialNo(code.getSerialNum())
+// );
+// } else {
+// inventoryDTO.setNum(inventoryDTO.getNum().add(code.getUnqualifiedQty()));
+// }
+// }
if (code.getUnqualifiedQty().compareTo(BigDecimal.ZERO) > 0) {
- InventoryInDTO inventoryDTO = qcReceiveDTO.getUnqualifiedInventories()
- .stream()
- .filter(inventoryDTO1 ->
- inventoryDTO1.getMaterialNo().equals(code.getItemCode())
- && inventoryDTO1.getWarehouseNo().equals("9004")
- && inventoryDTO1.getBatchNo().equals(code.getMaterialBatch())
- && inventoryDTO1.getSerialNo().equals(code.getSerialNum())
- && inventoryDTO1.getFactoryNo().equals(code.getFactory()))
- .findFirst()
- .orElse(null);
-
- if (Objects.isNull(inventoryDTO)) {
- // 不合格品数量大于0时的处理逻辑
- qcReceiveDTO.getUnqualifiedInventories().add(new InventoryInDTO()
- .setMaterialNo(code.getItemCode())
- .setFactoryNo(code.getFactory())
- .setWarehouseNo("9004") // 不合格仓固定
- .setNum(code.getUnqualifiedQty())
- .setBatchNo(code.getMaterialBatch())
- .setSerialNo(code.getSerialNum())
- );
- } else {
- inventoryDTO.setNum(inventoryDTO.getNum().add(code.getUnqualifiedQty()));
- }
+ qcReceiveDTO.getZwm3a27Items().add(
+ new ZWM3A27ItemDTO()
+ .setMatnr(code.getItemCode())
+ .setEbeln(code.getPoNum())
+ .setEbelp(Integer.valueOf(code.getPoLineNumber()))
+ .setMenge(code.getRejectQty())
+ .setMatDoc(code.getReceiveNum())
+ .setDocYear(DateTimeUtil.format(LocalDate.now(),"yyyy"))
+ );
}
- if (code.getQualifiedQty().compareTo(BigDecimal.ZERO) > 0) {
+ if (code.getReceiveQty().compareTo(BigDecimal.ZERO) > 0) {
// 合格品数量大于0时的处理逻辑
InventoryInDTO inventoryDTO = qcReceiveDTO.getQualifiednventories()
.stream()
@@ -265,12 +281,12 @@ public class NormalQMController extends BaseController {
.setMaterialNo(code.getItemCode())
.setFactoryNo(code.getFactory())
.setWarehouseNo(item.getReceivedWarehouse()) // 不合格仓固定
- .setNum(code.getQualifiedQty())
+ .setNum(code.getReceiveQty())
.setBatchNo(code.getMaterialBatch())
.setSerialNo(code.getSerialNum())
);
} else {
- inventoryDTO.setNum(inventoryDTO.getNum().add(code.getQualifiedQty()));
+ inventoryDTO.setNum(inventoryDTO.getNum().add(code.getReceiveQty()));
}
}
}
@@ -278,15 +294,22 @@ public class NormalQMController extends BaseController {
}
qcReceiveDTOS.add(qcReceiveDTO);
}
- List qrCodeMasters = qrCodeMasterService.getChildrenWithParent(request.stream()
- .map(QCReceiveTaskConfirmQO::getItems)
- .flatMap(List::stream)
- .map(InCostCenterBackSubmitItemQRQO::getQrCode)
- .toList()
+ List qrCodes = CollectionUtil.unionAll(
+ request.stream()
+ .map(QCReceiveTaskConfirmQO::getReceiveItems)
+ .flatMap(List::stream)
+ .map(InCostCenterBackSubmitItemQRQO::getQrCode)
+ .toList()
+ , request.stream()
+ .map(QCReceiveTaskConfirmQO::getRejectItems)
+ .flatMap(List::stream)
+ .map(InCostCenterBackSubmitItemQRQO::getQrCode)
+ .toList()
);
+ List qrCodeMasters = qrCodeMasterService.getChildrenWithParent(qrCodes);
request.forEach(rit -> {
- if (CollectionUtil.isNotEmpty(rit.getItems())) {
- rit.getItems().forEach(item -> {
+ if (CollectionUtil.isNotEmpty(rit.getReceiveItems())) {
+ rit.getReceiveItems().forEach(item -> {
WmsQrCodeMaster p = qrCodeMasters.stream()
.filter(q -> q.getBarcodeCode().equals(item.getQrCode()))
.findFirst()
@@ -310,6 +333,31 @@ public class NormalQMController extends BaseController {
});
});
}
+ if (CollectionUtil.isNotEmpty(rit.getRejectItems())) {
+ rit.getRejectItems().forEach(item -> {
+ WmsQrCodeMaster p = qrCodeMasters.stream()
+ .filter(q -> q.getBarcodeCode().equals(item.getQrCode()))
+ .findFirst()
+ .get();
+ p.setProcessStage(BarCodeProcessStage.Reject.getState());
+ p.setBinLocation(item.getBinNo());
+ p.setLastScanBy(UserUtil.getUserId());
+ p.setLastScanByname(UserUtil.getUserName());
+ p.setLastScanTime(LocalDateTime.now());
+ qrCodeMasters.stream()
+ .filter(q -> q.getParentBarcodeId().equals(p.getId()))
+ .forEach(c -> {
+ c.setProcessStage(p.getProcessStage());
+ c.setLastScanBy(UserUtil.getUserId());
+ c.setLastScanByname(UserUtil.getUserName());
+ c.setLastScanTime(LocalDateTime.now());
+ c.setFactoryCode(p.getFactoryCode());
+ c.setStorageLocation(p.getStorageLocation());
+ c.setBinLocation(p.getBinLocation());
+ c.setReceiptItemId(p.getReceiptItemId());
+ });
+ });
+ }
});
qrCodeMasterService.updateBarCode(qrCodeMasters);
normalQMControllerService.confirmReceive(qcReceiveDTOS);
@@ -406,4 +454,18 @@ public class NormalQMController extends BaseController {
}
}
+ /**
+ * 质检不合格单据开启上架任务
+ */
+ @Transactional
+ @PostMapping("unqualifiedWarehousing")
+ public ApiResult unqualifiedWarehousing(@Valid @RequestBody UnqualifiedWarehousingRequest request) {
+ WmsSrmQualityInspection inspection = wmsSrmQualityInspectionService.getById(request.getId());
+ VUtil.trueThrowBusinessError(Objects.isNull(inspection)).throwMessage("无效的质检单");
+ VUtil.trueThrowBusinessError(!inspection.getInspectionResult().equals("不合格")).throwMessage("该质检单不是不合格单");
+ VUtil.trueThrowBusinessError(inspection.getReceiveQty().compareTo(BigDecimal.ZERO) > 0).throwMessage("该质检单已生成上架任务");
+ inspection.setReceiveQty(request.getReceiveQty());
+ wmsSrmQualityInspectionService.updateById(inspection);
+ return ApiResult.success();
+ }
}
diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/QCReceiveDTO.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/QCReceiveDTO.java
index a473a83f..4ed5755e 100644
--- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/QCReceiveDTO.java
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/QCReceiveDTO.java
@@ -5,6 +5,7 @@ import com.nflg.wms.common.pojo.dto.StorageLocationDTO;
import lombok.Data;
import lombok.experimental.Accessors;
+import java.util.ArrayList;
import java.util.List;
@Data
@@ -14,8 +15,10 @@ public class QCReceiveDTO {
//需要传入SAP的信息
private ZWM3A18DTO zwm3a18DTO;
- // 不合格物料入仓信息
- private List unqualifiedInventories;
+// // 不合格物料入仓信息
+// private List unqualifiedInventories;
+
+ private List zwm3a27Items=new ArrayList<>();
//合格物料入仓信息
private List qualifiednventories;
diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/ZWM3A27ItemDTO.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/ZWM3A27ItemDTO.java
new file mode 100644
index 00000000..3fe52b32
--- /dev/null
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/ZWM3A27ItemDTO.java
@@ -0,0 +1,38 @@
+package com.nflg.wms.admin.pojo.dto;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+
+@Data
+@Accessors(chain = true)
+public class ZWM3A27ItemDTO {
+
+ /**
+ * 物料号
+ */
+ private String matnr;
+
+ /**
+ * 采购凭证号
+ */
+ private String ebeln;
+
+ /**
+ * 采购凭证的项目编号
+ */
+ private Integer ebelp;
+
+ /**
+ * 数量
+ */
+ private BigDecimal menge;
+
+ private String matDoc;
+ private String docYear;
+ private String key;
+ public String getKey() {
+ return matDoc +"|"+ docYear;
+ }
+}
diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/UnqualifiedWarehousingRequest.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/UnqualifiedWarehousingRequest.java
new file mode 100644
index 00000000..d4413b7f
--- /dev/null
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/UnqualifiedWarehousingRequest.java
@@ -0,0 +1,26 @@
+package com.nflg.wms.admin.pojo.request;
+
+import jakarta.annotation.Priority;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Positive;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class UnqualifiedWarehousingRequest {
+
+ /**
+ * 质检单id
+ */
+ @NotNull
+ private Long id;
+
+ /**
+ * 收货数量
+ */
+ @NotNull
+ @Positive
+ private BigDecimal receiveQty;
+}
diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java
index 9eec7bc9..5aacd142 100644
--- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java
@@ -3,7 +3,9 @@ package com.nflg.wms.admin.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Pair;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.nflg.wms.admin.pojo.dto.QCReceiveDTO;
+import com.nflg.wms.admin.pojo.dto.ZWM3A27ItemDTO;
import com.nflg.wms.common.pojo.vo.QCTaskItemScanCodesVO;
import com.nflg.wms.common.pojo.vo.QCTaskItemVO;
import com.nflg.wms.repository.entity.WmsQcReceive;
@@ -24,7 +26,9 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
+import java.util.stream.Collectors;
@Component
public class NormalQMControllerService {
@@ -67,15 +71,15 @@ public class NormalQMControllerService {
.setMaterialBatch(code.getMaterialBatch())
.setSerialNum(code.getSerialNum())
.setInspectionResult(code.getInspectionResult())
- .setQualifiedQty(code.getQualifiedQty())
- .setUnqualifiedQty(code.getUnqualifiedQty())
+ .setQualifiedQty(code.getReceiveQty())
+ .setUnqualifiedQty(code.getRejectQty())
);
taskItemVO.setUnqualifiedQty(
ObjectUtil.defaultIfNull(taskItemVO.getUnqualifiedQty(), BigDecimal.ZERO)
.add(ObjectUtil.defaultIfNull(code.getUnqualifiedQty(), BigDecimal.ZERO)));
taskItemVO.setQualifiedQty(
ObjectUtil.defaultIfNull(taskItemVO.getQualifiedQty(), BigDecimal.ZERO)
- .add(ObjectUtil.defaultIfNull(code.getQualifiedQty(), BigDecimal.ZERO)));
+ .add(ObjectUtil.defaultIfNull(code.getReceiveQty(), BigDecimal.ZERO)));
taskItemVO.setInQty(ObjectUtil.defaultIfNull(code.getQualifiedQty(), BigDecimal.ZERO)
.add(ObjectUtil.defaultIfNull(code.getUnqualifiedQty(), BigDecimal.ZERO)));
});
@@ -95,9 +99,9 @@ public class NormalQMControllerService {
if (CollectionUtil.isNotEmpty(qcReceiveDTO.getQualifiednventories())) {
wmsInventoryService.in(qcReceiveDTO.getQualifiednventories());
}
- if (CollectionUtil.isNotEmpty(qcReceiveDTO.getUnqualifiedInventories())) {
- wmsInventoryService.in(qcReceiveDTO.getUnqualifiedInventories());
- }
+// if (CollectionUtil.isNotEmpty(qcReceiveDTO.getUnqualifiedInventories())) {
+// wmsInventoryService.in(qcReceiveDTO.getUnqualifiedInventories());
+// }
//入库单确认
if (CollectionUtil.isNotEmpty(qcReceiveDTO.getWaitModifyItems())) {
@@ -138,7 +142,13 @@ public class NormalQMControllerService {
.update();
}
}
-
+ if (CollectionUtil.isNotEmpty(qcReceiveDTO.getZwm3a27Items())) {
+ Map> group = qcReceiveDTO.getZwm3a27Items().stream().collect(Collectors.groupingBy(ZWM3A27ItemDTO::getKey));
+ group.forEach((key, value) -> {
+ List keys = StrUtil.split(key, "|");
+ sapService.zwm3a27(keys.get(0), keys.get(1), value);
+ });
+ }
// 修改储位信息
// if (CollectionUtil.isNotEmpty(qcReceiveDTO.getStorageLocationDTOS())) {
// qcReceiveDTO.getStorageLocationDTOS().forEach(storageLocationDTO -> {
diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java
index 9e4390e8..0453baf5 100644
--- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java
@@ -9,6 +9,7 @@ import cn.hutool.json.JSONUtil;
import com.nflg.wms.admin.pojo.dto.SAPMaterialInfoInOrderDTO;
import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO;
import com.nflg.wms.admin.pojo.dto.ZWM3A18DTO;
+import com.nflg.wms.admin.pojo.dto.ZWM3A27ItemDTO;
import com.nflg.wms.admin.util.JCoUtil;
import com.nflg.wms.common.constant.STATE;
import com.nflg.wms.common.exception.SAPException;
@@ -1392,6 +1393,25 @@ public class SapService {
return Pair.of(structure.getString("MAT_DOC"), structure.getString("DOC_YEAR"));
}
+ /**
+ * 质检不合格SAP冲销接口(冲销103,移动类型124)
+ */
+ public void zwm3a27(String matDoc,String docYear,List items){
+ Map parameters = new HashMap<>();
+ parameters.put("MAT_DOC", matDoc);
+ parameters.put("DOC_YEAR", docYear);
+
+ Map>> tables = new HashMap<>();
+ if (CollectionUtil.isNotEmpty(items)) {
+ tables.put("ITEM", JCoUtil.toMapList(items,"matDoc","docYear","key"));
+ }
+ JCoFunction function = exec("ZWM3A27", "HEAD", parameters, tables);
+ JCoStructure result = function.getExportParameterList().getStructure("OUTPUT1");
+ print("OUTPUT1", result);
+ VUtil.trueThrowBusinessError(!StrUtil.equals("S", result.getString("TYPE")))
+ .throwMessage("SAP:" + result.getString("MSG"));
+ }
+
// /**
// * 获取库存信息
// * @param factory 工厂编号
diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/JCoUtil.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/JCoUtil.java
index 727c9759..ca23112c 100644
--- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/JCoUtil.java
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/JCoUtil.java
@@ -51,17 +51,26 @@ public class JCoUtil {
return mapList;
}
- public static List
* @author 代码生成器生成
* @since 2026
*/
@@ -186,4 +185,11 @@ public class WmsQrCodeMaster implements Serializable {
*/
@TableField(exist = false)
private String supplierName;
+
+ @TableField(exist = false)
+ private String key;
+
+ public String getKey() {
+ return factoryCode + "|" + storageLocation + "|";
+ }
}
diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsSrmQualityInspection.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsSrmQualityInspection.java
index d407f4d4..6ffb3ba8 100644
--- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsSrmQualityInspection.java
+++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsSrmQualityInspection.java
@@ -118,6 +118,21 @@ public class WmsSrmQualityInspection implements Serializable {
*/
private BigDecimal qualifiedQty;
+ /**
+ * 收货数量(合格时为合格数量,不合格时小于等于合格数量)
+ */
+ private BigDecimal receiveQty;
+
+ /**
+ * 拒收数量
+ */
+ @TableField(exist = false)
+ private BigDecimal rejectQty;
+
+ public BigDecimal getRejectQty() {
+ return inspectionQty.subtract(receiveQty);
+ }
+
/**
* 收货时的凭证
*/
diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsBinMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsBinMapper.java
index b49a6e0d..419e1a50 100644
--- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsBinMapper.java
+++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsBinMapper.java
@@ -28,4 +28,6 @@ public interface WmsBinMapper extends BaseMapper {
List searchNonPage(@Param("request") BinSearchQO request);
List getInventory(Long warehouseId);
+
+ WmsBin getByCode(String factoryCode, String storageLocation, String binLocation);
}
diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsBinService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsBinService.java
index 7a56db66..e6ea16ca 100644
--- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsBinService.java
+++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsBinService.java
@@ -8,6 +8,7 @@ import com.nflg.wms.common.pojo.vo.BinInventoryVO;
import com.nflg.wms.common.pojo.vo.BinVO;
import com.nflg.wms.repository.entity.WmsBin;
import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.util.List;
@@ -37,4 +38,6 @@ public interface IWmsBinService extends IService {
List searchNonPage(@Valid BinSearchQO request);
List getInventory(Long warehouseId);
+
+ WmsBin getByCode(String factoryCode, String storageLocation, String binLocation);
}
diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsBinServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsBinServiceImpl.java
index 4fc95852..b40632c0 100644
--- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsBinServiceImpl.java
+++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsBinServiceImpl.java
@@ -116,4 +116,9 @@ public class WmsBinServiceImpl extends ServiceImpl impleme
public List getInventory(Long warehouseId) {
return baseMapper.getInventory(warehouseId);
}
+
+ @Override
+ public WmsBin getByCode(String factoryCode, String storageLocation, String binLocation) {
+ return baseMapper.getByCode(factoryCode, storageLocation, binLocation);
+ }
}
diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsBinMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsBinMapper.xml
index e882688d..e9bff4b1 100644
--- a/nflg-wms-repository/src/main/resources/mapper/WmsBinMapper.xml
+++ b/nflg-wms-repository/src/main/resources/mapper/WmsBinMapper.xml
@@ -47,4 +47,13 @@
GROUP BY b."no"
ORDER BY b."no"
+
+
diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsSrmQualityInspectionMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsSrmQualityInspectionMapper.xml
index 29223e5b..fde8a3b1 100644
--- a/nflg-wms-repository/src/main/resources/mapper/WmsSrmQualityInspectionMapper.xml
+++ b/nflg-wms-repository/src/main/resources/mapper/WmsSrmQualityInspectionMapper.xml
@@ -8,7 +8,7 @@
a.po_line_number,a.inspection_qty,a.item_name,a.unit,a.received_warehouse,a.unqualified_reason,a.po_num,a.receive_num,a.unqualified_qty,
a.qualified_qty,a.material_batch as
receive_batch_num,a.serial_num,a.line_number,a.note_num,a.is_in,a.receive_id,
- a.in_time,a.material_doc_105,a.material_doc_year_105
+ a.in_time,a.material_doc_105,a.material_doc_year_105,a.receive_qty
from wms_srm_quality_inspection a
left join user_supplier c on a.suppler_num=c.supplier_code
diff --git a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java
index 3a57d422..3bbc0578 100644
--- a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java
+++ b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java
@@ -54,9 +54,6 @@ public class SRMController extends BaseController {
@Resource
private IWmsQcReceiveService qcReceiveService;
- @Resource
- private IWmsQrCodeMasterService qrCodeMasterService;
-
/**
* 接收SRM送货单
*/
@@ -174,21 +171,17 @@ public class SRMController extends BaseController {
.setIsIn(false)
.setAcceptTime(LocalDateTime.now());
try {
- srmQualityInspectionService.save(inspect);
- short isCheck = 1;
- if (!inspect.getInspectionResult().equals("合格")) {
- isCheck = 2;
+ short isCheck = 2;
+ if (inspect.getInspectionResult().equals("合格")) {
+ isCheck = 1;
+ inspect.setReceiveQty(inspect.getQualifiedQty());
}
+ srmQualityInspectionService.save(inspect);
qcReceiveService.lambdaUpdate()
.eq(WmsQcReceive::getOrderNo, inspect.getNoteNum())
.set(WmsQcReceive::getIsCheck, isCheck)
.update();
qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), inspect.getReceiveNum());
-// qrCodeMasterService.lambdaUpdate()
-// .set(WmsQrCodeMaster::getPackagingType, BarCodeProcessStage.Checked.getState())
-// .eq(WmsQrCodeMaster::getReceiptItemId, receiveItem.getId())
-// .update();
- //TODO 是否需要修改对应二维码的状态
log.error("质检单生成上架任务成功");
return 0;
} catch (Exception ex) {