Merge remote-tracking branch 'refs/remotes/惠信/dev_zhangke' into develop
This commit is contained in:
commit
99aa608eff
|
|
@ -161,6 +161,7 @@ public class NormalPGIController extends BaseController {
|
|||
.setOrderNo(order.getNoteNum())
|
||||
.setCreateUserName(UserUtil.getUserName())
|
||||
.setFactoryCode(order.getIuCode())
|
||||
.setIsCheck(false)
|
||||
.setCreateUserId(UserUtil.getUserId());
|
||||
|
||||
List<WmsPoReceiptItem> wmsPoReceiptItems = new ArrayList<>();
|
||||
|
|
@ -615,6 +616,7 @@ public class NormalPGIController extends BaseController {
|
|||
.setPoNum(item.getPoNum())
|
||||
.setPoLineNumber(item.getPoLineNumber())
|
||||
.setReceiveId(receiveId)
|
||||
.setCheckQty(BigDecimal.valueOf(0))
|
||||
.setMaterialDoc("")
|
||||
.setMaterialDocYear("");
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.nflg.wms.admin.controller;
|
|||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptScanCodes;
|
||||
import com.nflg.wms.admin.pojo.dto.*;
|
||||
import com.nflg.wms.admin.service.NormalPGIControllerService;
|
||||
|
|
@ -118,7 +119,6 @@ public class NormalQMController extends BaseController {
|
|||
.apply("check_qty>in_qty")
|
||||
.list();
|
||||
|
||||
if (CollectionUtil.isNotEmpty(wmsQcReceiveItems))
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("不存在待入库的物料(或此物料已入库)");
|
||||
|
||||
//首先根据采购单的编号进行分类
|
||||
|
|
@ -140,22 +140,22 @@ public class NormalQMController extends BaseController {
|
|||
.filter(q -> q.getPoNum().equals(poNum))
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(qcReceiveTaskConfirmQOS)) {
|
||||
|
||||
for (QCReceiveTaskConfirmQO item : qcReceiveTaskConfirmQOS) {
|
||||
WmsQcReceiveItem wmsQcReceiveItem = wmsQcReceiveItems.stream()
|
||||
.filter(wmsQcReceiveItem1 -> wmsQcReceiveItem1.getId().equals(item.getId()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (Objects.isNull(wmsQcReceiveItem))
|
||||
if (Objects.isNull(wmsQcReceiveItem)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
ZWM3A18DTO zwm3A18DTO = new ZWM3A18DTO()
|
||||
qcReceiveDTO.setZwm3a18DTO(new ZWM3A18DTO()
|
||||
.setEbeln(item.getPoNum())
|
||||
.setUsnam(UserUtil.getUserName())
|
||||
.setMblnr(wmsQcReceiveItem.getMaterialDoc())
|
||||
.setMjahr(wmsQcReceiveItem.getMaterialDocYear())
|
||||
.setItem1(new ArrayList<>())
|
||||
.setItem2(new ArrayList<>());
|
||||
.setItem2(new ArrayList<>()));
|
||||
|
||||
//获取质检物料信息
|
||||
List<WmsSrmQualityInspection> qualityInspections = wmsSrmQualityInspectionService.lambdaQuery()
|
||||
|
|
@ -163,11 +163,12 @@ public class NormalQMController extends BaseController {
|
|||
.eq(WmsSrmQualityInspection::getIsIn, false)
|
||||
.list();
|
||||
|
||||
if (CollectionUtil.isEmpty(qualityInspections))
|
||||
if (CollectionUtil.isEmpty(qualityInspections)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 储位变化的信息
|
||||
if (!item.getStorageLocation().equals(item.getStorageLocationNew())) {
|
||||
if (StrUtil.isNotBlank(item.getStorageLocationNew()) && !item.getStorageLocation().equals(item.getStorageLocationNew())) {
|
||||
List<String> bins = Arrays.asList(item.getStorageLocation().split("/"));
|
||||
qcReceiveDTO.getStorageLocationDTOS().add(new StorageLocationDTO()
|
||||
.setBinNos(bins)
|
||||
|
|
@ -179,7 +180,7 @@ public class NormalQMController extends BaseController {
|
|||
// 组装SAP信息
|
||||
for (WmsSrmQualityInspection code : qualityInspections) {
|
||||
//SAP 信息
|
||||
set3A18DTOS(zwm3A18DTO, code, item);
|
||||
set3A18DTOS(qcReceiveDTO.getZwm3a18DTO(), code, item);
|
||||
//修改物料状态
|
||||
qcReceiveDTO.getQcIdList().add(code.getId());
|
||||
// 计算物料的质检信息
|
||||
|
|
@ -197,6 +198,17 @@ public class NormalQMController extends BaseController {
|
|||
|
||||
// 库存信息
|
||||
if (code.getUnqualifiedQty().compareTo(BigDecimal.ZERO) > 0) {
|
||||
InventoryDTO inventoryDTO = qcReceiveDTO.getUnqualifiedInventories()
|
||||
.stream()
|
||||
.filter(inventoryDTO1 ->
|
||||
inventoryDTO1.getMaterialNo().equals(code.getItemCode())
|
||||
&& inventoryDTO1.getWarehouseNo().equals("9004")
|
||||
&& inventoryDTO1.getBatchNumber().equals(code.getMaterialBatch())
|
||||
&& inventoryDTO1.getFactoryNo().equals(code.getFactory()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
if (Objects.isNull(inventoryDTO)) {
|
||||
// 不合格品数量大于0时的处理逻辑
|
||||
qcReceiveDTO.getUnqualifiedInventories().add(new InventoryDTO()
|
||||
.setMaterialNo(code.getItemCode())
|
||||
|
|
@ -205,16 +217,33 @@ public class NormalQMController extends BaseController {
|
|||
.setNum(code.getUnqualifiedQty())
|
||||
.setBatchNumber(code.getMaterialBatch())
|
||||
);
|
||||
} else {
|
||||
inventoryDTO.setNum(inventoryDTO.getNum().add(code.getUnqualifiedQty()));
|
||||
}
|
||||
}
|
||||
if (code.getQualifiedQty().compareTo(BigDecimal.ZERO) > 0) {
|
||||
// 合格品数量大于0时的处理逻辑
|
||||
qcReceiveDTO.getUnqualifiedInventories().add(new InventoryDTO()
|
||||
InventoryDTO inventoryDTO = qcReceiveDTO.getQualifiednventories()
|
||||
.stream()
|
||||
.filter(inventoryDTO1 ->
|
||||
inventoryDTO1.getMaterialNo().equals(code.getItemCode())
|
||||
&& inventoryDTO1.getWarehouseNo().equals(item.getReceivedWarehouse())
|
||||
&& inventoryDTO1.getBatchNumber().equals(code.getMaterialBatch())
|
||||
&& inventoryDTO1.getFactoryNo().equals(code.getFactory()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
if (Objects.isNull(inventoryDTO)) {
|
||||
qcReceiveDTO.getQualifiednventories().add(new InventoryDTO()
|
||||
.setMaterialNo(code.getItemCode())
|
||||
.setFactoryNo(code.getFactory())
|
||||
.setWarehouseNo(item.getReceivedWarehouse()) // 不合格仓固定
|
||||
.setNum(code.getQualifiedQty())
|
||||
.setBatchNumber(code.getMaterialBatch())
|
||||
);
|
||||
} else {
|
||||
inventoryDTO.setNum(inventoryDTO.getNum().add(code.getQualifiedQty()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -229,7 +258,19 @@ public class NormalQMController extends BaseController {
|
|||
private void set3A18DTOS(ZWM3A18DTO zwm3A18DTO,
|
||||
WmsSrmQualityInspection code,
|
||||
QCReceiveTaskConfirmQO item) {
|
||||
ZWM3A18Item1DTO item1DTO = new ZWM3A18Item1DTO()
|
||||
ZWM3A18Item1DTO item1DTO = zwm3A18DTO.getItem1().stream()
|
||||
.filter(dto ->
|
||||
dto.getEbelp().equals(Integer.valueOf(code.getPoLineNumber()))
|
||||
&& dto.getMatnr().equals(code.getItemCode())
|
||||
&& dto.getMeins().equals(code.getUnit())
|
||||
&& dto.getCharg().equals(code.getMaterialBatch())
|
||||
&& dto.getLgort().equals(item.getReceivedWarehouse())
|
||||
&& dto.getWerks().equals(item.getReceivedWarehouse())
|
||||
)
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (Objects.isNull(item1DTO)) {
|
||||
item1DTO = new ZWM3A18Item1DTO()
|
||||
.setErfmg(code.getInspectionQty())
|
||||
.setErfmg1(code.getQualifiedQty())
|
||||
.setErfmg2(code.getUnqualifiedQty())
|
||||
|
|
@ -241,6 +282,11 @@ public class NormalQMController extends BaseController {
|
|||
.setSgtxt("")
|
||||
.setWerks(code.getFactory());
|
||||
zwm3A18DTO.getItem1().add(item1DTO);
|
||||
} else {
|
||||
item1DTO.setErfmg1(item1DTO.getErfmg1().add(code.getQualifiedQty()));
|
||||
item1DTO.setErfmg2(item1DTO.getErfmg2().add(code.getUnqualifiedQty()));
|
||||
}
|
||||
if (StrUtil.isNotBlank(code.getSerialNum())) {
|
||||
String flag = code.getInspectionResult().equals("合格") ? "X" : "";
|
||||
ZWM3A17Item2DTO item2DTO = new ZWM3A17Item2DTO()
|
||||
.setEBELP(code.getPoLineNumber())
|
||||
|
|
@ -248,5 +294,6 @@ public class NormalQMController extends BaseController {
|
|||
.setFLAG(flag);
|
||||
zwm3A18DTO.getItem2().add(item2DTO);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ 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 com.nflg.wms.admin.pojo.dto.QCReceiveDTO;
|
||||
import com.nflg.wms.common.pojo.vo.QCTaskItemScanCodesVO;
|
||||
import com.nflg.wms.common.pojo.vo.QCTaskItemVO;
|
||||
|
|
@ -20,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
|
@ -50,6 +52,10 @@ public class NormalQMControllerService {
|
|||
.eq(WmsSrmQualityInspection::getReceiveId, taskItemVO.getId())
|
||||
.eq(WmsSrmQualityInspection::getIsIn, false)
|
||||
.list();
|
||||
if (CollectionUtil.isEmpty(taskItemVO.getScanCodes())) {
|
||||
taskItemVO.setScanCodes(new ArrayList<>());
|
||||
}
|
||||
|
||||
if (CollectionUtil.isNotEmpty(qualityInspections)) {
|
||||
|
||||
qualityInspections.forEach(code -> {
|
||||
|
|
@ -63,9 +69,14 @@ public class NormalQMControllerService {
|
|||
.setQualifiedQty(code.getQualifiedQty())
|
||||
.setUnqualifiedQty(code.getUnqualifiedQty())
|
||||
);
|
||||
taskItemVO.setUnqualifiedQty(taskItemVO.getUnqualifiedQty().add(code.getUnqualifiedQty()));
|
||||
taskItemVO.setQualifiedQty(taskItemVO.getQualifiedQty().add(code.getQualifiedQty()));
|
||||
taskItemVO.setInQty(code.getQualifiedQty().add(code.getUnqualifiedQty()));
|
||||
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)));
|
||||
taskItemVO.setInQty(ObjectUtil.defaultIfNull(code.getQualifiedQty(), BigDecimal.ZERO)
|
||||
.add(ObjectUtil.defaultIfNull(code.getUnqualifiedQty(), BigDecimal.ZERO)));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -78,8 +89,9 @@ public class NormalQMControllerService {
|
|||
|
||||
@Transactional
|
||||
public void confirmReceive(List<QCReceiveDTO> qcReceiveDTOS) {
|
||||
if (CollectionUtil.isEmpty(qcReceiveDTOS))
|
||||
if (CollectionUtil.isEmpty(qcReceiveDTOS)) {
|
||||
return;
|
||||
}
|
||||
for (QCReceiveDTO qcReceiveDTO : qcReceiveDTOS) {
|
||||
//库存处理
|
||||
if (CollectionUtil.isNotEmpty(qcReceiveDTO.getQualifiednventories())) {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ public interface WmsQcReceiveItemMapper extends BaseMapper<WmsQcReceiveItem> {
|
|||
|
||||
List<QCTaskItemVO> getTaskItem(Long taskId);
|
||||
|
||||
void updateCheckNum(String receiveNum, String noteNum, String lineNumber, String itemCode);
|
||||
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc);
|
||||
|
||||
void updateInQty(Long id, BigDecimal inQty, BigDecimal unqualifiedQty, BigDecimal qualifiedQty);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public interface IWmsQcReceiveItemService extends IService<WmsQcReceiveItem> {
|
|||
|
||||
List<QCTaskItemVO> getTaskItem(@Valid @NotNull Long taskId);
|
||||
|
||||
void updateCheckNum(String receiveNum, String noteNum, String lineNumber, String itemCode);
|
||||
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode,String materialDoc);
|
||||
|
||||
void updateInQty(Long id, BigDecimal inQty,BigDecimal unqualifiedQty,BigDecimal qualifiedQty);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ public class WmsQcReceiveItemServiceImpl extends ServiceImpl<WmsQcReceiveItemMap
|
|||
}
|
||||
|
||||
@Override
|
||||
public void updateCheckNum(String receiveNum, String noteNum, String lineNumber, String itemCode) {
|
||||
baseMapper.updateCheckNum(receiveNum, noteNum, lineNumber, itemCode);
|
||||
public void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc) {
|
||||
baseMapper.updateCheckNum(InspectionQty, noteNum, lineNumber, itemCode, materialDoc);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
<update id="updateCheckNum">
|
||||
update wms_qc_receive_item
|
||||
set check_qty=check_qty + #{ inspectionQty}
|
||||
set check_qty=check_qty + #{InspectionQty}
|
||||
where note_num = #{ noteNum}
|
||||
and line_number = #{ lineNumber}
|
||||
and material_doc = #{materialDoc}
|
||||
|
|
|
|||
|
|
@ -119,8 +119,9 @@ public class SRMController extends BaseController {
|
|||
/**
|
||||
* SRM 推送质检单到WMS
|
||||
*/
|
||||
@Transactional
|
||||
|
||||
@PostMapping("/SendNFInspect")
|
||||
@Transactional
|
||||
public Object receiveQualityInspection(@RequestBody SRMQualityInspectionResult request) {
|
||||
SRMQualityInspectionResultDTO data = JSONUtil.toBean(request.getJsonstring(), SRMQualityInspectionResultDTO.class);
|
||||
List<WmsSrmQualityInspection> inspects = srmQualityInspectionService.lambdaQuery()
|
||||
|
|
@ -152,7 +153,7 @@ public class SRMController extends BaseController {
|
|||
.setSupplerNum(data.getSupplierNum())
|
||||
.setInspectionType(data.getInspectionType())
|
||||
.setPoLineNumber(String.valueOf(data.getPoLineNumber()))
|
||||
.setInspectionQty(ObjectUtil.defaultIfNull(data.getInspectionQty(), BigDecimal.ZERO))
|
||||
.setInspectionQty(data.getQualifiedQty().add(data.getUnqualifiedQty()))
|
||||
.setItemName(data.getItemName())
|
||||
.setUnit(data.getUnit())
|
||||
.setReceivedWarehouse(data.getReceivedWarehouse())
|
||||
|
|
@ -165,17 +166,16 @@ public class SRMController extends BaseController {
|
|||
.setSerialNum(data.getSerialNum())
|
||||
.setLineNumber(data.getLineNumber())
|
||||
.setNoteNum(data.getNoteNum())
|
||||
.setReceiveId(receiveItem.getReceiveId())
|
||||
.setReceiveId(receiveItem.getId())
|
||||
.setIsIn(false)
|
||||
.setAcceptTime(LocalDateTime.now());
|
||||
try {
|
||||
srmQualityInspectionService.save(inspect);
|
||||
qcReceiveService.lambdaUpdate()
|
||||
.eq(WmsQcReceive::getOrderNo, inspect.getNoteNum())
|
||||
.eq(WmsQcReceive::getIsCheck, false)
|
||||
.set(WmsQcReceive::getIsCheck, true)
|
||||
.update();
|
||||
qcReceiveItemService.updateCheckNum(inspect.getReceiveNum(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode());
|
||||
qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), inspect.getReceiveNum());
|
||||
log.error("质检单生成上架任务成功");
|
||||
return 0;
|
||||
} catch (Exception ex) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue