Merge remote-tracking branch '南方路机/master'

This commit is contained in:
曹鹏飞 2026-06-24 08:09:29 +08:00
commit 0c4e0f63f1
6 changed files with 68 additions and 6 deletions

View File

@ -19,7 +19,8 @@ public interface WmsQcReceiveItemMapper extends BaseMapper<WmsQcReceiveItem> {
List<QCTaskItemVO> getTaskItem(Long taskId);
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc);
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc,
BigDecimal UnqualifiedQty ,BigDecimal QualifiedQty);
void updateInQty(Long id, BigDecimal inQty, BigDecimal unqualifiedQty, BigDecimal qualifiedQty);

View File

@ -21,7 +21,7 @@ public interface IWmsQcReceiveItemService extends IService<WmsQcReceiveItem> {
List<QCTaskItemVO> getTaskItem(@Valid @NotNull Long taskId);
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode,String materialDoc);
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode,String materialDoc,BigDecimal UnqualifiedQty ,BigDecimal QualifiedQty);
void updateInQty(Long id, BigDecimal inQty,BigDecimal unqualifiedQty,BigDecimal qualifiedQty);

View File

@ -27,8 +27,8 @@ public class WmsQcReceiveItemServiceImpl extends ServiceImpl<WmsQcReceiveItemMap
}
@Override
public void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc) {
baseMapper.updateCheckNum(InspectionQty, noteNum, lineNumber, itemCode, materialDoc);
public void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc,BigDecimal UnqualifiedQty ,BigDecimal QualifiedQty) {
baseMapper.updateCheckNum(InspectionQty, noteNum, lineNumber, itemCode, materialDoc,UnqualifiedQty,QualifiedQty);
}
@Override

View File

@ -30,7 +30,9 @@
<update id="updateCheckNum">
update wms_qc_receive_item
set check_qty=check_qty + #{InspectionQty}
set check_qty=check_qty + #{InspectionQty},
unqualified_qty= #{ UnqualifiedQty },
qualified_qty= #{ QualifiedQty }
where note_num = #{ noteNum}
and line_number = #{ lineNumber}
and material_doc = #{materialDoc}

View File

@ -4,11 +4,14 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.nflg.wms.common.constant.BarCodeProcessStage;
import com.nflg.wms.common.pojo.document.SrmMaterialReceiptScanCodes;
import com.nflg.wms.common.pojo.dto.SRMOrderReceiveDTO;
import com.nflg.wms.common.pojo.dto.SRMQualityInspectionResultDTO;
import com.nflg.wms.common.pojo.qo.SRMOrderReceiveItemQO;
import com.nflg.wms.common.pojo.qo.SRMOrderReceiveQO;
import com.nflg.wms.common.pojo.qo.SRMQualityInspectionResult;
import com.nflg.wms.common.util.DateTimeUtil;
import com.nflg.wms.repository.entity.*;
import com.nflg.wms.repository.service.*;
import com.nflg.wms.starter.BaseController;
@ -19,12 +22,14 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import repository.SrmMaterialReceiptScanCodesRepository;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* SRM相关
@ -52,6 +57,12 @@ public class SRMController extends BaseController {
@Resource
private IWmsQcReceiveService qcReceiveService;
@Resource
private SrmMaterialReceiptScanCodesRepository srmMaterialReceiptScanCodesRepository;
@Resource
private IWmsQrCodeMasterService qrCodeMasterService;
/**
* 接收SRM送货单
*/
@ -137,6 +148,8 @@ public class SRMController extends BaseController {
.eq(WmsQcReceiveItem::getMaterialDoc, data.getReceiveNum())
.eq(WmsQcReceiveItem::getLineNumber, data.getLineNumber())
.eq(WmsQcReceiveItem::getNoteNum, data.getNoteNum())
.eq(WmsQcReceiveItem::getPoLineNumber, data.poLineNumber)
.eq(WmsQcReceiveItem::getPoNum, data.getPoNum())
.one();
if (Objects.isNull(receiveItem)) {
log.error("接收到无效的质检信息" + data.getInspectionNum());
@ -175,12 +188,34 @@ public class SRMController extends BaseController {
isCheck = 1;
inspect.setReceiveQty(inspect.getQualifiedQty());
}
//查找扫码记录
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptScanCodesRepository.findByOrderItemId (receiveItem.getOrderItemId());
if(CollectionUtil.isNotEmpty(scanCodes))
{
List<String> codeIds = scanCodes.stream().map(SrmMaterialReceiptScanCodes::getCodeContent).collect(Collectors.toList());
List<WmsQrCodeMaster> qrCodes = qrCodeMasterService.lambdaQuery()
.in(WmsQrCodeMaster::getBarcodeCode, codeIds)
.list();
qrCodes.forEach(qrCode -> {
qrCode.setProcessStage(BarCodeProcessStage.Checked.getState());
qrCode.setLastScanTime(LocalDateTime.now());
});
qrCodeMasterService.updateBarCode(qrCodes);
}
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());
qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(),
inspect.getNoteNum(),
inspect.getLineNumber(),
inspect.getItemCode(),
inspect.getReceiveNum(),
inspect.getUnqualifiedQty(),
inspect.getQualifiedQty());
log.error("质检单生成上架任务成功");
return 0;
} catch (Exception ex) {

View File

@ -0,0 +1,24 @@
package repository;
import com.nflg.wms.common.pojo.document.SrmMaterialReceiptScanCodes;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;
import org.springframework.data.mongodb.repository.Update;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface SrmMaterialReceiptScanCodesRepository
extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
List<SrmMaterialReceiptScanCodes> findByOrderItemId(Long orderItemId);
List<SrmMaterialReceiptScanCodes> findByReceiveItemId(Long receiveItemId);
List<SrmMaterialReceiptScanCodes> findByCodeIdIn(List<String> attr0);
@Query("{ 'codeId' : { $in : ?0 } }")
@Update("{ $set : { 'isIntoStorage' : ?1 } }")
void updateIsIntoStorage(List<String> codeIds, boolean isIntoStorage);
}