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); 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); 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); 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); void updateInQty(Long id, BigDecimal inQty,BigDecimal unqualifiedQty,BigDecimal qualifiedQty);

View File

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

View File

@ -30,7 +30,9 @@
<update id="updateCheckNum"> <update id="updateCheckNum">
update wms_qc_receive_item 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} where note_num = #{ noteNum}
and line_number = #{ lineNumber} and line_number = #{ lineNumber}
and material_doc = #{materialDoc} 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.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; 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.SRMOrderReceiveDTO;
import com.nflg.wms.common.pojo.dto.SRMQualityInspectionResultDTO; import com.nflg.wms.common.pojo.dto.SRMQualityInspectionResultDTO;
import com.nflg.wms.common.pojo.qo.SRMOrderReceiveItemQO; import com.nflg.wms.common.pojo.qo.SRMOrderReceiveItemQO;
import com.nflg.wms.common.pojo.qo.SRMOrderReceiveQO; import com.nflg.wms.common.pojo.qo.SRMOrderReceiveQO;
import com.nflg.wms.common.pojo.qo.SRMQualityInspectionResult; 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.entity.*;
import com.nflg.wms.repository.service.*; import com.nflg.wms.repository.service.*;
import com.nflg.wms.starter.BaseController; 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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import repository.SrmMaterialReceiptScanCodesRepository;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* SRM相关 * SRM相关
@ -52,6 +57,12 @@ public class SRMController extends BaseController {
@Resource @Resource
private IWmsQcReceiveService qcReceiveService; private IWmsQcReceiveService qcReceiveService;
@Resource
private SrmMaterialReceiptScanCodesRepository srmMaterialReceiptScanCodesRepository;
@Resource
private IWmsQrCodeMasterService qrCodeMasterService;
/** /**
* 接收SRM送货单 * 接收SRM送货单
*/ */
@ -137,6 +148,8 @@ public class SRMController extends BaseController {
.eq(WmsQcReceiveItem::getMaterialDoc, data.getReceiveNum()) .eq(WmsQcReceiveItem::getMaterialDoc, data.getReceiveNum())
.eq(WmsQcReceiveItem::getLineNumber, data.getLineNumber()) .eq(WmsQcReceiveItem::getLineNumber, data.getLineNumber())
.eq(WmsQcReceiveItem::getNoteNum, data.getNoteNum()) .eq(WmsQcReceiveItem::getNoteNum, data.getNoteNum())
.eq(WmsQcReceiveItem::getPoLineNumber, data.poLineNumber)
.eq(WmsQcReceiveItem::getPoNum, data.getPoNum())
.one(); .one();
if (Objects.isNull(receiveItem)) { if (Objects.isNull(receiveItem)) {
log.error("接收到无效的质检信息" + data.getInspectionNum()); log.error("接收到无效的质检信息" + data.getInspectionNum());
@ -175,12 +188,34 @@ public class SRMController extends BaseController {
isCheck = 1; isCheck = 1;
inspect.setReceiveQty(inspect.getQualifiedQty()); 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); srmQualityInspectionService.save(inspect);
qcReceiveService.lambdaUpdate() qcReceiveService.lambdaUpdate()
.eq(WmsQcReceive::getOrderNo, inspect.getNoteNum()) .eq(WmsQcReceive::getOrderNo, inspect.getNoteNum())
.set(WmsQcReceive::getIsCheck, isCheck) .set(WmsQcReceive::getIsCheck, isCheck)
.update(); .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("质检单生成上架任务成功"); log.error("质检单生成上架任务成功");
return 0; return 0;
} catch (Exception ex) { } 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);
}